Jumat, 24 Agustus 2012

Data Flow Diagram (DFD)

Konsep Physical World dan Logical Equivalent

Physical world atau dunia fisik adalah dunia yang nyata terjadi dan dapat kita lihat di kehidupan sehari-hari. Dunia fisik ini sangat rumit dan kompleks dengan segala hal yang terjadi di dalamnya. Faktor-faktor subyektivitas juga sangat kuat keberadaan dan pengaruhnya dalam dunia fisik. Proses pengurusan KTP adalah contoh yang sederhana sebuah proses yang terjadi di dalam sebuah dunia fisik. Masyarakat jika ingin mengurus sebuah KTP maka harus datang ke kelurahan kemudian mengisi form data diri. Selanjutnya form tersebut akan dikirim ke Kecamatan dan terus begitu sampai KTP tersebut jadi.

Gambar 1 Contoh pengurusan KTP


Contoh proses pengurusan KTP secara manual dapat dilihat seperti gambar di atas. Setiap tahapan harus betul-betul dilalui dengan menghadiri langsung ke tempatnya masing-masing. Proses ini bisa memakan waktu lebih dari 1 (satu) hari. Ini adalah contoh yang terjadi di dunia fisik.

Untuk membuat proses-proses bisnis di dunia fisik ini menjadi lebih efisien maka dibuatlah sebuah program komputer yang akan menangani keseluruhan proses tersebut dalam waktu yang jauh lebih singkat. E-KTP adalah contoh nyata dari implementasi sistem komputer tersebut. Program komputer ini disebut sebagai logical world. Jadi untuk membuat physical world menjadi lebih efisien maka physical world tersebut akan diterjemahkan / dicarikan ekivalennya ke dalam logical world, contohnya adalah dengan membuat program komputer.

Analogi Logical Equivalent

Analogi menterjemahkan physical world ke dalam logical equivalent membutuhkan teknik khusus. Hal tersebut disebabkan karena logival equivalent tidak boleh bersifat ambiguous atau rancu. Sifatnya harus betul-betul standard dan terlepad dari faktor-faktor seubjektifitas sehingga setiap orang yang capable di bidangnya dapat membaca dan mengartikannya dalam sebuah pemahaman yang sama.

Gambar 2 Proses membangun rumah

Gambar 2 menggambarkan proses pembangunan rumah. Proses ini dapat digunakan untuk penggambaran sederhana tentang logical equivalent. Untuk membangun sebuah rumah kita akan membeli tanah tempat rumah kita akan didirikan. Kemudian kita akan menghubungi Arsitek. Pertanyaan pertama dari seorang Arsitek biasanya adalah “rumah seperti apa yang Anda inginkan ?”. Kita akan mulai menggambarkan rumah yang kita inginkan. Misalkan kita menginginkan halaman yang luar, pintu pagar yang tinggi, ada kolam renang dan sebagainya.

Proses yang kita lakukan ini sebenarnya adalah proses menggambarkan physical world yang kita inginkan kepada Arsitek. Arsitek akan menterjemahkan semua penggambaran kita tersebut ke dalam sebuah gambar (prototype). Gambaran physical world tadi akan kita lihat dan mungkin kita revisi lagi sehingga terjadi diskusi interaktif antara kita dan Arsitek. Sampai suatu saat tercapai kata sepakat maka Arsitek dengan tool yang dimilikinya akan membuat sebuah gambar teknis atau blueprint. Gambar teknis ini lah yang disebut sebagai logical ekuivalent dari physical world. Blueprint ini tidak dapat dibaca oleh kita sebagai customer, tetapi sangat jelas dapat dibaca oleh kontraktor pemangun rumah. Blueprint tersebut berisikan seluruh spesifikasi teknis dari rumah yang harus dibangun. Blueprint tidak mengandung informasi yang ambiguous / rancu. Hal ini menyebabkan seorang kontraktor tidak perlu berdiskusi dengan customer / pemilik rumah. Kontraktor cukup berdiskusi dengan Arsitek. Dan itupun dilakukan dengan frekuensi yang minimal. Hal ini dikarenakan semua informasi yang diperlukan sudah ada di dalam blueprint. Setelah rumah selesai dibangun, blueprint ini sebagai dokumentasi teknis dari rumah akan diberikan kepada customer.

Gambar 3 Pembangunan Software


Penggambaran proses di atas dapat kita samakan dengan dunia komputer. Dimana seorang customer yang memesan program dapat dipandang sebagai keluarga pemesan rumah tadi. Arsitek dapat dipandang sebagai System Analyst. Kontraktor pembangun rumah dapat dipandang sebagai seorang software developer.

System analyst akan menanyakan sedetil-detilnya tentang kebutuhan dan keinginan dari customer. Setelah diskusi interaktif dan menemukan kesepatan, System Analyst akan membuat sebuah bisnis flow serta dokumen teknis lainnya. Data Flow Diagram (DFD) dan Entity Relation Diagran (ERD) adalah salah satu tool yang dapat digunakan untuk membuat logical ekuivalent ini. Seorang programmer komputer atau software developer tidak akan merasa perlu lagi bertanya dan berdiskusi kepada customer. Hal ini dikarenakan semua hal teknis yang terkait dengan keperluan pembuatan software sudah ada dan diberikan oleh Analyst. Walaupun physical world penuh dengan subyektivitas, dokumen teknis tetap dibuat dengan pendekatan matematika.

Dokumentasi Teknis

Data Flow Diagram selain merupakan diagram yang menterjemahkan physical world ke logical equivalent, DFD juga adalah dokumentasi dari software. Dokumentasi teknis ini sangat sangat penting dikarenakan sifat standard dan non ambiguous nya. Contoh pentingnya dokumentasi ini dapat kita lihat pada contoh kasus pembuatan rumah di atas. Blueprint rumah yang sudah dibuatkan oleh Arsitek adalah dokumentasi teknis dari rumah. Jika setelah beberapa waktu, rumah yang sudah berdiri dan ditempati ingin diubah / renovasi maka tentunya kita akan menghubungi Arsitek yang sama saat pertama kita bangun rumah. Semisal Arsitek tersebut sudah tidak ada, misalkan pensiun atau sejenisnya, maka dengan memanfaatkan dokumentasi (blueprint) yang sudah ada, kita cukup menghubungi Arsitek yang lain dengan membawa dokumen tadi. Arsitek yang baru tidak perlu lagi menghubungi Arsitek sebelumnya karena dokumentasi teknisnya sudah jelas.

Demikian juga halnya dengan Data Flow Diagram yang sudah dimiliki, cukup diberikan kepada System Analyst yang baru untuk revisi atau mungkin langsung ke software developer untuk dibuatkan perubahannya.

Simbol Data Flow Diagram

Untuk membuat sebuah Data Flow Diagram, dibutuhkan setidaknya 4 simbol logical equivalent yaitu symbol yang menggambarkan proses, entitas luar, data flow dan data store.

Gambar 4 Simbol dasar DFD

Entitas luar / external adalah entitas yang tidak dapat dikontrol. Data Flow dan Data Store adalah 2 hal yang berlawanan. Data Flow adalah data yang bergerak atau aliran data dari dan ke. Sedangkan Data Store tidak bergerak alias menetap, biasanya Data Store adalah representative dari database. Contoh yang sederhana yang dapat dibuatkan logical equivalentnya adalah proses pembayaran dari pembelian barang. Proses yang terjadi di physical world adalah sebagai berikut. Vendor atau supplier akan mengirimkan invoice kepada customer. Customer setelah menerima invoice tersebut akan menyimpannya di buku kas. Setelah 30 hari kerja invoice tersebut akan diterbitkan.

Gambar 5 DFD Invoice

Gambar 5 adalah logical equivalent dari physical world invoice di atas tadi. Data Flow Diagram pada gambar 5 terbentuk dari 2 eksternal, 1 proses, 2 data flow dan 1 data store. Jika dilihat lagi maka proses 1.0 terdiri dari 2 proses yaitu proses mencatat dan proses membayar. Artinya proses 1.0 ini masih bisa kita breakdown lagi menjadi proses kecil. Peristiwa memecah ke proses yang lebih detil lagi disebut sebagai decomposisi atau lebih dikenal dengan leveling.

Gambar 6 DFD detil

Hasil leveling dari gambar 5 menjadi gambar 6. Terlihat jelas bahwa pada physical world tentang invoice tadi setelah di logival equivalent mendapatkan 2 proses dengan 2 eksternal yang terkait.

Perbedaan pasti dari physical dan logical adalah bahwa logical merupakan hal yang tidak mengandung kerancuan lagi, sehingga DFD sebagai logical quivalent merupakan sebuah informasi standard yang dapat dimengerti oleh seluruh system analyst, programmer atau software developer sebagai sebuah gambaran proses physical world.

Silahkan melihat video tutorial tentang DFD ini



Tidak ada komentar:

Posting Komentar