Skip to main content

Sekilas Flowchart dan Data Flow Diagram (DFD)


Contoh flowchart dansymbol-symbolnya
Flowcharting (1st documentation tool):

  • Alternatif untuk dokumentasi narative yang panjang (who, what, when, where of the system)
  • Lebih fokus ke aspek physical dari proses dan aliran informasi dibandingkan dengan aspek konseptual
  • Digunakan untuk mendeskripsikan keseluruhan sistem informasi atau hanya sebagian saja. Keseluruhan sistem terdiri dari input, proses manual/komputer, output.
  • Output bisa dibagikan ke para pengguna untuk membantu pengambilan keputusan atau bisa juga digunakan untuk input dalam proses selanjutnya.
  • Berbagai macam jenis flowcharts adalah seperti berikut:
    • Systems Flowcharts : menggambarkan keseluruhan konfigurasi sistem, termasuk dokumen, aliran data, dan proses suatu sistem.
    • Document/procedure flowcharts: menggambarkan pembuatan dokumen, aliran, dan tujuan dokumen di dalam sistem dan prosedur-prosedur yang dilaksanakan di dalamnya.
    • Hardware flowcharts: menggambarkan konfigurasi hardware suatu sistem
    • Program flowcharts: menggambarkan logika dan tahap-tahap pemrosesan program komputer
  • Flowcharts bisa digambarkan dengan manual atau banyak software-software template untuk flowchart yang murah bahkan free

Elemen dasar dari systems/document flowcharts
  • Document flowcharts terdiri dari 3 element grafik sederhana yang digabungkan untuk menyajikan berbagai macam jenis proses dan aliran informasi fisik (contoh flowchart dan symbolnya lihat gambar di atas):
    1. Symbols
    2. Flow lines
    3. Areas of responsibility
  • Symbol dan metode flowchart sangat bervariasi di berbagai organisasi dan profesi.
  • Tidak ada simbol-symbol dan prinsip-prinsip flowchart yang diterima secara umum. Hanya mengacu ke yang paling banyak digunakan.


Konvensi penyusunan flowchart:
- Dari kiri ke kanan, atas ke bawah
- Semua dokumen harus memiliki asal dan akhir
  • Simbol permanent file
  • Simbol exit dari sistem
  • Simbol connector
  • Bila tidak/belum ada tujuan akhir, harus disertakan simbol annotation untuk menunjukkan bahwa masih ada penyelidikan lebih lanjut.
- Flowcharts harus tetap terjaga rapi
  • Flowchart adalah tool untuk design dan analytical. Namun kadang terlalu banyak detil akan mengurangi kemampuan komunikasi atau keterbacaannya. Panduan simplenya:
    • Tempatkan areas of responsibility yang paling sering bertukaran untuk saling berdekatan supaya menghindari arah panah yang panjang
    • Masukkan narasi penjelasan hanya di dalam symbol
    • Hindari narasi untuk menjelaskan yang sudah digambarkan dalam flowchart itu sendiri

- Pastikan bahwa progress dokumen adalah jelas.
- Pastikan bahwa flowchart benar-benar lengkap: menyajikan setiap input, proses, output, dan storage.


Elemen dasar hardware and program flowcharts
  • Simbol yang digunakan sama, namun lebih digunakan untuk menyajikan berbagai macam hardware komputer seperti printer, magnetic tape, tape drive, disk, disk drive, dll.



Contoh DFD dan symbol-symbol nya
DFD (2nd Documentation tool)

- Lebih memberikan aliran data secara konseptual (bukan aliran fisik data seperti di flowcharts). DFD mengabaikan unit-unit organisasi, komputer dimana data diproses, dan media dimana data disimpan
- Perpindahan data antar departments/kantor dalam tidak perlu ditampilkan.
- Ada 4 jenis DFD (Contoh DFD dan symbol-symbolnya lihat gambar disamping):

  • DFD dari physical system yang sedang digunakan
  • DFD dari logical system yang sedang digunakan
  • DFD dari logical system yang baru atau diusulkan
  • DFD physical system yang baru atau disulkan

- Baik logical dan physical diagram menggunakan symbol yang sama.  Logical diagrams menggambarkan aliran data konseptual tanpa referensi apapun ke karakteristik fisik sistem. Physical diagrams, sebaliknya, memasukkan label yang menggambarkan atribut2 fisik sistem, seperti pekerja/agent, job titles, nama departement, nama/deskripsi teknologi yang digunakan untuk memroses dan menyimpan data.

DFD Symbols
  • DFD meliputi 4 simbol: proses, sources/sinks, data stores, data flow lines
Aturan umum:
1. Semua proses harus memiliki nama yang unik. Bila dua flow lines memiliki label yang sama, maka harus mengacu ke aliran data yang sama atau data store yang sama.
2. Input ke suatu proses harus berbeda dengan output proses
3. Satu DFD tunggal harus tidak lebih dari sekitar tujuh proses.

Proses:
4. Tidak ada proses yang hanya memiliki outputs. (Ini berarti bahwa proses tersebut tidak membuat informasi dari manapun).
5. Tidak ada proses yang hanya memiliki inputs. (black hole).
6. Suatu proses harus memiliki label kata kerja.

Data Store:
7. Data tidak bisa berpindah secara langsung dari suatu data store ke data store yang lain. Data harus dipindahkan oleh suatu proses.
8. Data tidak bisa berpindah secara langsung dari suatu source ke suatu data store. Data harus dipindahkan oleh suatu proses yang menerima data dari source tersebut dan menempatkannya ke data store.
9. Data tidak bisa berpindah secara langsung dari data store ke suatu sink. Data harus dipindahkan oleh suatu proses.
10. Data store label haruslah kata benda.

Source/Sink:
11. Data tidak bisa berpindah secara langsung dari source ke sink, harus dipindah oleh suatu proses. Bila data mengalir secara langsung dari source ke sink dan tidak melibatkan proses apapun, maka itu adalah diluar scope dan tidak ditunjukkan di sistem DFD
12. Source/sink harus berlabel kata benda.

Data Flow:
13. Suatu data flow hanya memiliki satu arah diantara simbol. Bisa jadi dua arah antara proses dan data store untuk menunjukkan suatu read dan update. Untuk menunjukkan read dan update, harus digambar dua panah berbeda karena dua tahap (read and update) yang terjadi pada waktu yang terpisah.
14. Fork berarti bahwa data yang benar-benar sama berasal dari lokasi yang sama ke proses dua atau lebih proses atau data stores atau source/sink yang berbeda. (ini biasanya menunjukkan copy yang berbeda dari dokumen yang sama ke lokasi yangberbeda)
15. Join berarti data yang sama dari dua atau lebih proses, data store, source/sink yang berbeda ke lokasi yang sama.
16. Suatu data flow tidak boleh kembali secara langsung ke proses yang baru saja ditinggalkan. Harus ada setidaknya satu proses lain yang menangani data flow tersebut, menghasilkan suatu data flow, dan mengembalikan data flow awal ke proses asalnya.
17. Data flow menuju ke data store berarti update (delete, add, or change).

Tingkatan DFD:
Context Diagram
  • DFD dibagi menjadi beberapa level untuk mempertahankan size dan kompleksitasnya manageable
  • Context Diagram adalah tingkatan yang tertinggi dari DFD.
  • Sistem yang masih diinvestigasi lebih lanjut diientifikasi dalam simbol proses di tengah yang diberi label 0.
Level DFD berikutnya
  • Level berikutnya di bawah context diagram adalah DFD tingkat 0 dan hanya menggambarkan proses sistem yang sangat high level.
  • Setiap proses dari level 0 mungkin bisa dibagi lagi menjadi beberapa proses yang lebih detil di level DFD berikutnya.
  • Proses pen-detil-an ini biasanya disebut sebagai decomposition. Proses decomposition hingga level yang terendah biasanya disebut sebagai DFD primitive.
  • Setiap proses di level 0 diberi label angka secara berurutan dan diikuti dengan .0. misalnya DFD level 0 mempunyai empat proses maka labelnya adalah 1.0, 2.0, 3.0, dan 4.0. .0 menunjukkan proses level 0.
  • Andaikan ingin menunjukkan lebih detil lagi tentang proses di level 0, maka DFD nya adalah level 1. Proses penamaannya adalah 1.1, 1.2, dst. Angka pertama mengacu ke angka proses di level 0 dan angka kedua mengacu ke angka proses level 1 yang ditetapkan.
  • Bila masih ingin didetilkan lagi dari DFD level 1, maka DFD nya adalah level 2. Penamaan labelnya adalah 1.1.1, 1.1.2,1.1.3,dst. 
  • Bila ke DFD level 3 penamaan labelnya menjadi 1.1.2.1, 1.1.2.2, 1.1.2.3, dst.

Flowchart VS DFD
  • Flowchart lebih cenderung menggambarkan karakteristik fisik sistem sementara DFD tidak mempedulikan atribut-atribut fisik sistem.

Link-link terkait dengan Flowchart:
http://beritati.blogspot.com/2011/11/siklus-konversi-aktivitas-aktivitas.html

Link-link terkait dengan DFD:
http://beritati.blogspot.com/2011/11/siklus-konversi-sistem-batch-processing.html

Comments

  1. Saya ingin bertanya,
    kapan kita harus menggunakan flowchart, dan kapan kita harus menggunakan DFD?

    ReplyDelete
  2. Pada dasarnya baik DFD maupun flowchart adalah salah dua dari beberapa tool dokumentasi yang lain. Sistem dokumentasi dan pemodelan yang lain bisa disebut seperti misalnya: ERD, record layout diagram, REA, dll. Seperti pepatah kuno 'a picture is worth a thousand words, maka untuk membuat dokumentasi pengembangan sistem teknik2 dokumentasi apapun bisa diterapkan sepanjang mudah dipahami, dimengerti, dan pada akhirnya memudahkan dan memuluskan proses pengembangan sistem. Karena pada dasarnya deskripsi tertulis mengenai suatu proses bisnis (dokumentasi berbasis text) akan sangat panjang lebar dan susah dipahami oleh pengembang sistem.

    Jadi, kalau dalam proses pengembangan sistem, si pengembang cukup paham dgn melihat DFD ya cukup DFD saja. Atau kalau cukup dengan membaca flowchart ya cukup flowchart saya. Akan tetapi untuk men-jamin minimnya kesalahpahaman dalam memahami proses bisnis, sebaiknya ya dua-duanya diterapkan terutama apabila sistem informasi yang dikembangkan cukup besar dan kompleks.

    Perbedaannya adalah bahwa:
    1. DFD menekankan aspek logic/konsep dari proses bisnis. Jadi lebih menekankan mengenai gambaran tentang tugas2 apa saja yang dilakukan dan yang akan dicapai (lihat gambar di atas).
    2. Flowchart menekankan aspek fisik dari proses bisnis. Jadi lebih menekankan gambarang tentang bagaimana pekerjaan dilakukan, departement apa yang melakukan, dokumen apa yang di alirkan dan rangkap berapa jumlahnya, media simpan apa yg digunakan, proses manual atau computer based, dll (ingat: flowchart adalah deskripsi aspek fisik).

    Contoh: bila suatu proses bisnis sudah ditangkap inti2 prosesnya dan ternyata ada pergantian jenis media simpan (misalnya magnetic tape menjadi disc), makaDFD nya tidak akan mengalami perubahan karena secara logic konsep proses bisnis nya tetap, tetapi flowchartnya akan berubah, yaitu perubahan symbol media simpan nya.

    Semoga membantu.
    September 26, 2011 9:17 PM

    ReplyDelete
  3. saya ingin bertanya, saya mempunyai tugas kuliah yg kurang saya mengerti. Tolong bantu
    ini contoh kasusnya :
    Langganan menghubungi bagian penjualan, memesan jenis & kue & uang muka, bagian ini membuat BO rangkap 2, asli untuk diserahkan kebagian produksi, tindasan untuk langganan.
    Bagian penjualan, menyerahkan BO asli ke bagian produksi. & membuat LPP, 3 rangkap untik manajer tindasan #1 untuk bagian keuangan, & tindasan #2 diarsipka dibagian ini. Uang diserahkan kenagian keuangan.
    Bagian produksi berdasarkan BO dar bagian penjualan membuat dokumen permintaan bahan baku melalui BPB ke bagian gudang, & meminta tenaga kerja dengan membuat dokumen TK ke bagian personalia, kemudian semua tenaga kerja memproses bahab baku menjadi produk berupa kue, & diserahkan kebagian penjualan.
    Bagian gudang, berdasarkan BPB dari bagian produksi, menyiapkan bahan baku & informasi biaya bahan baku, rangkap 2, asli untuk manajer, tndasan di arsipkan dibagian ini.
    Bagian personalia, berdasarkan TK menugaskan tenaga keja &mengirimkan informasi biaya tenaga kerja serta menyerahkan kebagian produksi. Membuat laporan biaya tenaga kerja, rangkap 2 asli untuk manajer, tndasan di arsipkan dibagian ini.
    Bagian penjualan, setelah menerima kue pesanan dari bagian produksi, menyerahkan kue ke langganan & menerima uang sisa pesanan & diserahkan kebagian keuangan.
    Bagian keuangan, membuat LPH rangkap 2, asli untuk manejer & tindasan diarsipkan dibagian ini..

    tolong dibuat
    a. flow map
    b. dfd(diagram context), dfd level o fisik,& dfd level 0 lojik

    trimz

    ReplyDelete
  4. Kalau tugas sebaiknya dikerjakan saja semampunya, sepahamnya. Apapun hasil proses pengerjaan, itu adalah bagian dari proses pembelajaran. Tidak perlu sempurna. Seperti pepatah inggris, Just get it done, don't get it perfect.Kerjakan saja, jangan menunggu sempurna.

    ReplyDelete
  5. saya mau tanya pak,saya sedang membuat dfd untuk aplikasi sistem informasi. Bagaimana tips untuk memberi label agar bahasanya ringan dan variasinya banyak?

    ReplyDelete
  6. Penamaan label sebenarnya menunjukkan style si pembuatnya. Beda orang beda strategi penamaan. Tetapi tujuannya secara umum sama: supaya mudah dipahami. Jadi tips yang paling baik adalah tips buatan sendiri.
    Namun beberapa jenis bantuan/tips penamaan yang mungkin bisa digunakan:
    - seharusnya informatif dan 'meaningful'
    - misalnya untuk (E)ntitas let's say entitas (K)euangan bisa menggunakan awalan EK, tujuan nya adalah supaya ada stardadisasi.
    - untuk (D)ata (S)tore misalnya, menggunaka awalan D atau S

    ReplyDelete
  7. Kita juga punya nih artikel mengenai Data Flow Diagram, silahkan dikunjungi dan dibaca, berikut linknya: http://repository.gunadarma.ac.id/bitstream/123456789/5713/1/boriel%20ppt.pdf
    Terimakasih

    ReplyDelete
  8. makasih ya... buat datanya gan!! you're invite my blog

    ReplyDelete
  9. permisi mau tanya,
    untuk program yang tidak menggunakan database sebaiknya menggunakan model dfd atau yang flowchat y?

    ReplyDelete
  10. Tidak bergantung pada penggunaan database atau tidak. Tetapi menggunakan pendekatan yang tepat. Pendekatan yang tepat artinya yang paling bisa dipahami (dan/atau dijelaskan) oleh semua pihak yang terlibat, entah itu si developer, analyst, user, dll.

    Bisa kembali dibaca2 reply dari comnent pertama di atas. Terimakasih.

    ReplyDelete
  11. bagaimana cara mengkonversi dari DFD menjad flow chart?

    Terima kasih..

    ReplyDelete
  12. Kalau menurut paling enak mengidentifikasi dulu fungsi/bagian/department yang terlibat. Ini akan menjadi header di flowchart. Kemudian hal2 logic dalam dfd diidentifikasi hal2 fisik nya dalam setiap fungsi/dept td, misalnya apakah proses menggunakan dokumen manual, hardware komputer, dsb. Hal2 fisik tersebut diletakkan di fungsi/dept dimana proses berlangsung. Kuncinya adalah bahwa flowchart menggambarkan aliran 'fisik' proses sedangkan dfd menggambarkan aliran konsep/logic suatu proses. Terima kasih.

    ReplyDelete
  13. mau buat aplikasi rekapitulasi data PMKS,,
    Susah buat DFD, ERD, FLOWCHART, USE CASE, CLASS DIAGRAM, SEQUENCE DIAGRAM,...
    yg mna dulu harus dibuat?? bagi tipss y donk,,,bisa berikan contoh gak,,,

    ReplyDelete
  14. Kalau untuk buat aplikasi saat ini lagi trend cenderung langsung menggunakan teknik2 'Rapid Application Development',Prototyping, dsb yang cenderung untuk pembuatan aplikasi secara cepat. Konsekwensinya adalah bahwa proses development berlangsung terus menerus secara iteratif. Jadi intinya kurang lebih adalah, develop aplikasi--> serahkan ke user--> ada yang kurang atau ditambah--> develop lagi--> begitu dan seterusnya.

    Jadi tidak perlu semua teknik dokumentasi di atas diterapkan semua, atau bahkan bisa dilewati. Kalau perlu ya cukup salah satu saja, misalnya keluarga UML saja (Use Case, class diagram,dll) atau DFD saja. Cukup yang palingmudah dipahami dan diterapkan.

    Kecuali untuk keperluan lain selain development, misalnya untuk audit sistem. Kalau untuk audit sistem sampai saat ini flowchart adalah masih menjadi yang terpopuler menurut suatu survey.

    ReplyDelete
  15. selamat siang pak, saya ada tugas untuk membuat activity diagram dari salah satu DFD level 1. Kemungkinan besar, cara yang mudah udah memulainya bagaimana ya, apa2 saya yang diambil dari DFD level 1 untuk bisa digunakan dalam activity diagram? terimakasih

    ReplyDelete

Post a Comment

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at