Bab 6 – DATA FLOW DIAGRAM (DIAGRAM ALIR DATA) ● ● ● Salah satu tool yang paling penting bagi seorang analis sistem Penggunaan DFD sebagai modeling tool dipopulerkan oleh Tom DeMacro (1978) dan Gane & Sarson (1979) dengan menggunakan pendekatan Metoda Analisis Sistem Terstruktur (Structured System Analysis Method) DFD dapat digunakan untuk mempresentasikan suatu sistem yang otomatis maupun manual dengan melalui gambar yang berbentuk jaringan grafik. Definisi DFD Merupakan diagram yang menunjukan secara grafis urutan-urutan dalam proses yang harus dilakukan dalam suatu sistem. Jadi DFD merupakan suatu alat bantu yang dapat mevisualkan hubungan antara subproses-subproses didalam suatu sistem. Simbol yang digunakan dalam DFD ( DAD ) 1. EXTERNAL ENTITY ( TERMINAL) - Entitas yang berada diluar sistem, yang memberikan data kepada sistem (Source) atau yang menerima informasi dari sistem (Sink), dapat berupa orang, organisasi dll. - Tidak termasuk bagian dari sistem - Bila sistem informasi dirancang untuk satu bagian (departemen), maka bagian lain yang masih terkait menjadi external entity - Nama terminal berupa kata benda - Terminal tidak boleh memiliki nama yang sama kecuali memang objeknya sama (digambarkan dua kali, maksudnya untuk membuat diagram lebih jelas). Bila demikian, maka terminal ini perlu diberi garis miring pada pojok kiri atas. 3.1 Hitung Gaji 2. Jam_Lembur Karyawan Slip_Gaji Karyawan PROCESS ( PROSES) Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil dari arus data yang masuk kedalam proses untuk dihasilkan arus data yang akan keluar dari proses. Menggambarkan apa yang dilakukan oleh sistem - Berfungsi mentranformasikan satu atau beberapa data masukan manjadi satu atau beberapa data keluaran sesuai dengan spesifikasi yang diinginkan. Setiap proses memiliki satu atau beberapa data masukan serta menghasilkan satu atau beberapa data keluaran. Proses sering juga disebut sebagai BUBBLE. Nama proses terdiri dari kata kerja dan kata benda yang mencerminkan fungsi proses tersebut, misalnya : Hitung Gaji, Pendataan Order, Cetak Laporan Penjualan, dll. Jangan menggunakan kata ‘proses’ sebagai bagian dari nama suatu process (bubble). Tidak boleh ada beberapa proses yang memiliki nama yang sama. Proses harus diberi nomor. Urutan nomor sedapat mungkin mengikuti aliran atau urutan urutan proses. Namun demikian, urutan nomor tidak berarti secara mutlak merupakan urutan proses secara kronologis. Penomoran proses pada tingkat pertama (Diagram Nol) adalah 1.0, 2.0, 3.0, dst. Penomoran proses pada tingkat kedua dari proses 1.0 (rincian dari proses 1.0) adalah 1.1, 1.2, 1.3, dst. Context Diagram tidak perlu diberi nomor. 2.1* Hitung Pph - 2.0 Pendata an Order 5.0 Cetak Laporan Proses 2.1 adalah proses level terendah, tidak perlu dirinci lagi. DATA STORE (PENYIMPANAN) 3. - Tempat menyimpan data Proses dapat mengambil data dari atau memberikan data ke data store. Nama harus mencerminkan isi dari data store tersebut Bila namanya lebih dari satu kata, maka harus diberi tanda sambung. PELANGGAN MS_BARANG DATA FLOW ( ARUS DATA) 4. - Menggambarkan aliran data dari suatu entity ke entity lainnya. Arah panah menggambarkan aliran data. Aliran data : » Antara dua proses yang berurutan » » » - - Dari data store ke proses dan sebaliknya. Dari source ke process Dari proses ke sink Arus data ini menujukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem dan dapat berbentuk sebagai berikut : a. Formulir atau dokumen yang dipergunakan oleh perusahaan. b. Laporan tecetak yang dihasilkan oleh sistem c. Tampilan atau output di layar komputer yang dihasilkan oleh sistem d. Masukan untuk komputer. e. Surat-surat atau memo f. Data yang dibaca atau direkam ke suatu file g. Suatu isian yan dicatat dalam buku agenda Nama aliran data yang terdiri dari beberapa kata dihubungkan dengan garis sambung. Tidak boleh ada nama aliran data yang namanya sama dan pemberian nama harus mencerminkan isinya. Aliran data yang terdiri dari beberapa elemen dapat dinyatakan dengan group elemen. Hindari penggunaan kata ‘data’ dan ‘informasi’ untuk memberi nama pada aliran data. Sedapat mungkin nama aliran data ditulis lengkap. Daftar_Hadir Jam_kerja Tarif_per_jam 3.1* Periksa Daftar Hadir 3.2 Hitung Upah Daftar_hadir_Valid Upah_Mingguan Ketentuan lain: - - Nama aliran data yang masuk ke dalam suatu proses tidak boleh sama dengan nama aliran data yang keluar dari proses tersebut. Data flow yang masuk ke atau keluar dari data store tidak perlu diberi nama bila : » Aliran datanya sederhana dan mudah dipahami. » Aliran datanya menggambarkan seluruh data item (satu record utuh) Tidak boleh ada aliran data dari terminal ke data store atau sebaliknya karena terminal bukan bagian dari sistem. Hubungan terminal dengan data store harus melalui proses. TINGKATAN DIAGRAM PADA DFD 1. Context Diagram (Diagram Hubungan, Level 0) 2. Zero Diagram (Diagram Nol, Level 1) 3. Detail Diagram (Diagram Rinci, Level 2, Level 3, dst.) ● Context Diagram (level 0) - ● Zero Diagram (level 1) - ● Merupakan level tertinggi dari DFD yang menggambarkan seluruh input ke atau output dari sistem. Memberikan gambaran tentang keseluruhan sistem. Terminal yang memberikan masukan kepada sistem disebut source, terminal yang menerima keluaran dari sistem disebut sink. Hanya ada satu proses. Tidak boleh ada data store. Perlihatkan data store yang digunakan. Untuk proses yang tidak dirinci lagi pada level selanjutnya ( functional primitive), tambahkan pada akhir nomor proses tanda *. Keseimbangan input dan output (balancing) antara diagram 0 dengan diagram hubungan harus terpelihara. Detail Diagram (level 2, 3, dst) - Merupakan rincian dari diagram nol atau diagram level di atasnya. Keseimbangan didalam diagram rinci dengan diagram nol atau diagram level diatasnya harus terpelihara Penomoran Level pada DFD Nama Level 0 1 2 2 2 3 3 3 Dst. Nama Diagram Nomor Process Context Diagram Diagram Diagram Diagram Diagram Diagram Diagram 0 1.0 2.0 3.0 ..... 1.1 1.2 1.3 ..... 2.1 2.2 2.3 ..... 3.1 3.2 3.3 ..... 1.1.1 1.1.2 ..... 1.2.1 1.2.2 ..... 1.3.1 1.3.2 ..... 0 1.0 2.0 3.0 1.1 1.2 1.3 Di dalam suatu level seyogyanya tidak terdapat lebih dari 7 buah proses, bila lebih maka harus dilakukan dekomposisi. KESEIMBANGAN DALAM DFD Keseimbangan dibedakan untuk setiap level DFD 1. Keseimbangan Antara Level 0 dan Level 1 a. Jumlah dan Nama External Entity Antara Level 0 dan Level 1 b. Jumlah, Nama dan Arah Arus Data Antara Level 0 dan Level 1 2. Keseimbangan Antara Level 1 dan Level 2 a. Jumlah dan Nama External Entity Antara Level 1 dan Level 2 b. Jumlah, Nama dan Arah Arus Data Antara Level 1 dan Level 2 c. Jumlah dan Nama Data Store Antara Level 1 dan Level 2 d. Arah Arus Data Dari / Ke Data Store Ke/Dari Proses Antara Level 1 dan Level 2 3. Keseimbangan Antara Level 2 dan Level 3, dst a. Jumlah dan Nama External Entity Antara Level 2 dan Level 3 b. Jumlah, Nama dan Arah Arus Data Antara Level 2 dan Level 3 c. Jumlah dan Nama Data Store Antara Level 2 dan Level 3 d. Arah Arus Data Dari / Ke Data Store Ke/Dari Proses Antara Level 2 dan Level 3 A a1 b1 b2 a2 B X b3 A a1 2.0 * X2 1.0 * X1 a2 b1 b3 B DT1 DT2 3.0 X3 b2 b3 B b2 3.1 * X31 DT1 3.2 * X32 DT2 Contoh Latihan : PROSEDUR SISTEM PERMINTAAN BARANG 1. Setiap Awal Tahun Ka. Bag. Umum akan memberikan daftar stok barang dan daftar departemen perusahaan kepada staf umum untuk dicatat dalam buku barang dan buku departemen perusahaan. 2. Setiap Awal bulan departemen perusahaan mengajukan permintaan barang kepada staf umum dengan memberikan formulir permintaan barang (FPB) yang berisi data-data departemen pemohon dan barang yang diminta. Staf umum akan melakukan pengecekan departemen dan barang apakah departemen terdaftar dan barang ada. 3. Jika tidak terdaftar atau barang tidak ada maka permintaan akan ditolak dengan mengembalikan FPB. Jika terdaftar dan barang ada, maka FPB akan dicatat dalam buku permintaan dan mengurangi stok barang pada buku barang. 4. Staf umum akan membuat bukti permintaan barang (BPB) yang akan diberikan ke departemen perusahaan yang meminta berikut barang. 5. Setiap akhir bulan staf umum akan membuat laporan permintaan barang dan stok akhir barang kepada Ka. Bag. Umum sebagai laporan akhir. DIAGRAM HUBUNGAN (CONTEXT DIAGRAM, LEVEL 0) Daf_brg FPB KA. BAG. UMUM Daf_Dept_Prsh Lap_Stok_Brg Lap_Permintaan Ket : FPB = Formulir Permintaan Barang BPB = Bukti Permintaan Barang SISTEM PERMINTAAN BARANG FPB_kembali BPB DEPARTEMEN PERUSAHAAN DIAGRAM NOL ( ZERO DIAGRAM, LEVEL 1 ) KA. BAG. UMUM Daf_Brg 2.0 Pengolahan Permintaan Barang FPB Dept_Prsh Daf_Dept_Prsh 1.0 Pendataan Daftar Barang & Daftar Dept Perusahaan BRG DEPARTEMEN PERUSAHAAN BPB FPB_Kembali PERMINTAAN Lap_Permintaan 3.0 Buat Laporan Permintaan dan Stok Barang Lap_Stok_Brg DIAGRAM RINCI 1.0 ( DETAIL DIAGRAM, LEVEL 2 ) KA. BAG. UMUM Daf_Brg 1.1 * Catat Daftar Barang Daf_Dept_Prsh 1.2 * Catat Daftar Departemen Perusahaan Dept_Prsh BRG DIAGRAM RINCI 2.0 ( DETAIL DIAGRAM, LEVEL 2 ) DEPARTEMEN PERUSAHAAN FPB Dept_Prsh FPB_Kembali 2.1 * Terima & Periksa FPB 2.3* Cetak BPB BRG FPB_OK PERMINTAAN 2.2 * Catat FPB BPB DIAGRAM RINCI 3.0 ( DETAIL DIAGRAM, LEVEL 2 ) Dept_Prsh 3.1 * Buat Laporan Stok Barang Lap_Stok_Brg KA. BAG. UMUM BRG PERMINTAAN 3.2* Buat Laporan Permintaan Lap_Permintaan PEBEDAAN DIAGRAM ALIRAN DATA DENGAN BAGAN ALIR DFD sangat berbeda dengan bagan alir (Flow-chart). Pebedaannya adalah : 1. Proses di DFD dapat beroperasi secara paralel, sehingga beberapa proses dapat dilakukan secara serentak. Hal ini merupakan kelebihan dari DFD dibandingkan dengan bagan alir yang cenderung menunjukkan proses yang urut. 2. DFD lebih menunjukkan arus dari data di suatu sistem, sedangkan bagan alir lebih menunjukkan arus dari prosedur. TEKNIK MEMBUAT DATA FLOW DIAGRAM (DFD) 1. Identifikasi nama setiap External Entity Entitas yang berada diluar sistem, yang memberikan data kepada sistem ( Source) atau yang menerima informasi dari sistem (Sink), dapat berupa orang, organisasi dll. Tidak termasuk bagian dari sistem artinya extenal entity tidak pernah melakukan proses baca atau tulis didalam tempat penyimpanan data (data store) Nama terminal (external entity) berupa kata benda contoh : pelanggan, pemasok, manajer, gudang dll 2. Identifikasi semua aliran data Aliran data masuk (Input) Aliran data keluar (Output) 3. Buat Diagram hubungan (context diagram) 4. Buat dekomposisi diagram untuk menentukan nama setiap prosesnya. Contoh dekomposisi diagram : Context diagram The system Nol 1.0 nama proses1 Rinci 1.1 Rinci 1.2 Nol 2.0 Nama proses 2 Rinci 1.3 Rinci 2.1 Rinci 2.2 Rinci 2.1.1 Rinci 2.1.2 Rinci 2.1.3 Nol 3.0 nama proses 3 BEBERAPA HAL YANG HARUS DIPERHATIKAN DALAM MEMBUAT DFD Teknik Betul Teknik yang Salah 1 Extenal Entity 1 Extenal Entity 2 Extenal Entity 1 2 Extenal Entity Data Store Extenal Entity Proses 3 Data Store Data Store Data Store Proses Proses Extenal Entity 2 Data Store Data Store BEBERAPA KEMUNGKINAN ARUS DATA YANG MASUK DAN KELUAR DARI SUATU PROSES 1. Suatu proses yang menerima sebuah arus data dan menghasilkan sebuah arus data. Kartu_Jam_Kerja Hitung Gaji Daftar_Gaji 2. Susatu proses yang menerima lebih dari satu arus data dan menghasilkan sebuah arus data. Kartu_Jam_Kerja Tingkat_Upah Hitung Gaji Daftar_Gaji 3. Suatu proses yang menerima satu arus data dan menghasilkan lebih dari sebuah arus data. Rincian_Piutang Cetak Laporan Piutang Laporan_Umur_Piutang Laporan_Piutang_Ditagih CONTOH DIBAWAH INI BENTUK SUATU PROSES YANG SALAH !! Pelanggan Pelanggan Order_Pelanggan 1.0 Verifikasi Kredit Pelanggan Order_Disetujui 2.0 Buat Order Penjualan Order_Penjualan Akuntansi Dimanakah letak kesalahannya?.... Umumnya kesalahan proses di DFD sebagai berikut ini. 1. Proses mempunyai input tetapi tidak menghasilkan output. Kesalahan ini disebut dengan Black Hole (lubang hitam) 2. Proses Menghasilkan Output tetapi tidak pernah menerima Input dan kesalahan ini disebut dengan Miracle (ajaib), karena ajaib dihasilkan output tanpa pernah menerima input. PROSEDUR SISTEM PERMINTAAN BARANG (KOMPUTERISASI) 1. Setiap Awal Tahun Ka. Bag. Umum akan memberikan daftar stok barang dan daftar departemen perusahaan kepada staf umum untuk dicatat dalam File barang dan File departemen perusahaan. 2. Setiap Awal bulan departemen perusahaan mengajukan permintaan barang kepada staf umum dengan memberikan formulir permintaan barang (FPB) yang berisi data-data departemen pemohon dan barang yang diminta. Staf umum akan melakukan pengecekan departemen dan barang apakah departemen terdaftar dan barang ada. 3. Jika tidak terdaftar atau barang tidak ada maka permintaan akan ditolak dengan mengembalikan FPB. Jika terdaftar dan barang ada, maka FPB akan dicatat dalam File permintaan dan mengurangi stok barang pada File barang. 4. Staf umum akan membuat bukti permintaan barang (BPB) yang akan diberikan ke departemen perusahaan yang meminta berikut barang. 5. Setiap akhir bulan staf umum akan membuat laporan permintaan barang dan stok akhir barang kepada Ka. Bag. Umum sebagai laporan akhir. DIAGRAM HUBUNGAN (CONTEXT DIAGRAM, LEVEL 0) Daf_brg FPB KA. BAG. UMUM Daf_Dept_Prsh Lap_Stok_Brg Lap_Permintaan Ket : FPB = Formulir Permintaan Barang BPB = Bukti Permintaan Barang SISTEM PERMINTAAN BARANG FPB_kembali BPB DEPARTEMEN PERUSAHAAN DIAGRAM NOL ( ZERO DIAGRAM, LEVEL 1 ) KA. BAG. UMUM Daf_Brg 2.0 Pengolahan Permintaan Barang FPB Dept_Prsh Daf_Dept_Prsh 1.0 Pendataan Daftar Barang & Daftar Dept Perusahaan BRG DEPARTEMEN PERUSAHAAN BPB FPB_Kembali PERMINTAAN Lap_Permintaan 3.0 Cetak Laporan Permintaan dan Stok Barang Lap_Stok_Brg DIAGRAM RINCI 1.0 ( DETAIL DIAGRAM, LEVEL 2 ) KA. BAG. UMUM Daf_Brg 1.1 * Entry Daftar Barang Daf_Dept_Prsh 1.2 * Entry Daftar Departemen Perusahaan Dept_Prsh BRG DIAGRAM RINCI 2.0 ( DETAIL DIAGRAM, LEVEL 2 ) DEPARTEMEN PERUSAHAAN FPB Dept_Prsh FPB_Kembali 2.1 * Validasi FPB 2.3* Cetak BPB BRG FPB_OK PERMINTAAN 2.2 * Entry FPB BPB DIAGRAM RINCI 3.0 ( DETAIL DIAGRAM, LEVEL 2 ) Dept_Prsh Cetak * Buat Laporan Stok Barang Lap_Stok_Brg KA. BAG. UMUM BRG PERMINTAAN 3.2* Cetak Laporan Permintaan Lap_Permintaan