Pemodelan Proses menggunakan Data flow Diagram (DFD)
Materi Model dan Model Proses Data Flow Diagram (DFD) Versi Representasi DFD Komponen DFD Proses, Entitas, Aliran Data, Data store Aturan-aturan dalam Pembuatan DFD Penurunan Level pada DFD Bentuk kesalahan dalam Penggambaran DFD Langkah-langkah Pembuatan DFD Kapan memodelkan proses
Apa itu model…? Model: Pemodelan proses: Pemodelan proses : representasi dari realitas, umumnya dinyatakan dalam bentuk grafis Pemodelan proses: teknik untuk menata dan mendokumentasikan proses, input, output, dan simpanan data dalam suatu sistem Pemodelan proses : alat dalam rekayasa perangkat lunak sering dipakai untuk memodelkan hal lain yang bukan perangkat lunak
Tiga Alasan Pemodelan Dapat memfokuskan pada hal-hal penting dalam sistem tanpa mesti terlibat terlalu jauh. Mendiskusikan perubahan dan koreksi terhadap kebutuhan pemakai dengan resiko dan biaya minimal. Menguji pengertian penganalisa sistem terhadap kebutuhan pemakai dan membantu pendesain sistem dan pemrogram membangun sistem.
Karakteristik Pemodelan Dibuat dalam bentuk grafis dan tambahan keterangan secara tekstual. Dapat diamati dengan pola top-down dan partitioned. Memenuhi persyaratan minimal redundancy. Dapat mempresentasikan tingkah laku sistem dengan cara yang transparan.
APA ITU...? Data Flow Diagram (DFD) Diagram Arus Data (DAD) alat bantu pemodelan proses yang menggambarkan aliran data dalam suatu sistem serta aktivitas atau pemrosesan yang dilakukan oleh sistem tersebut sinonim : model proses, data flow diagram (DFD)
DFD/DAD Process modeling – teknik yang digunakan untuk mengatur dan mendokumentasikan proses sebuah sistem Aliran data melalui proses Logik Kebijakan (policies) Prosedur Data flow diagram (DFD) – proses yang digunakan untuk menggambarkan aliran data melalui sistem dan kerja yang dilakukan oleh sistem Sinonim: bubble chart, transformation graph, dan process model. DFD sering dipakai untuk business process redesign.
DFD/DAD Data Flow Diagram atau DFD adalah salah satu tools penting yang digunakan oleh analis sistem. Penggunaan DFD dipopulerkan oleh DeMarco (1978) dan Gane & Sarson (1979) melalui metodologi analisis sistem terstruktur (structured systems analysis methodologies). Mereka menganjurkan agar DFD menjadi alat pertama yang digunakan “analis sistem” untuk membuat sebuah model sistem yang menunjukkan keterkaitan setiap komponen-komponen sistemnya. Komponen sistem tersebut adalah proses-proses dalam sistem, data yang digunakan oleh proses-proses tersebut, eksternal entitas yang berinteraksi dengan sistem dan aliran data/informasi di dalam sistem.
DFD/DAD Menggunakan beberapa simbol untuk merepresentasikan aliran data antara proses, penyimpanan data dan aliran data ke dalam dan keluar sistem Mengutamakan aliran data dibandingkan aliran dokumen atau laporan Lebih bersifat konseptual, tampilan non fisik / logika data dalam sistem, menyediakan dokumentasi aliran data dan proses pengolahan data yang lebih baik Tidak memperlihatkan urutan atau waktu dari setiap proses Tidak menampilkan keputusan Memiliki pandangan sistem secara global dan rinci (sub sistem/proses) serta digambarkan dalam hierarki level Dapat digunakan untuk mendeskripsikan aliran data dalam berbagai level dan antar level
Pemodelan Proses (Process Modeling) Pemodelan Proses (Process Modeling), merupakan teknik yang digunakan untuk mengelola dan mendokumentasikan proses sistem. Teknik mengelola dan mendokumentasikan struktur dan aliran data melalui PROSES sistem dan atau logika, kebijakan dan prosedur yang akan diimplementasikan oleh PROSES sistem. Suatu tipe khusus model proses yang disebut diagram konteks. Pemodelan proses berasal dari metode engineering perangkat lunak, oleh sebab itu kita mungkin harus menghadapi beberapa tipe model proses misalnya bagan struktur program, flowchart logika, atau tabel keputusan dalam bidang aplikasi pemrograman.
Versi Representasi DFD DeMarco Gane & Sarson Coad & Yordon A. Seen SSADM dll
Komponen Penggambaran DFD Gane and Sarson DeMarco/Yourdon
Proses (Process) kerja yang dilakukan oleh sebuah sistem menanggapi aliran data yang masuk atau kondisikondisi tertentu. Sinonimnya adalah transform. Pekerjaan atau kegiatan yang dilakukan terhadap data yang masuk (input) untuk menghasilkan data keluaran (output) Proses memperlihatkan mengenai apa yang dilakukan oleh sistem, kaitannya dengan aktifitas pengolahan data (perekaman, pengolahan, pembentukan informasi, dsb) Proses hanya menunjukkan kegiatannya saja, tidak merujuk orang/pihak yang melakukan Setiap proses mempunyai satu atau lebih data input dan menghasilkan satu atau lebih data output. Setiap proses mempunyai nomor dan nama yang unik. contoh: proses pembayaran, proses cetak KRS, dll Contoh: Pembuatan Faktur Penjualan, dsb)
Entitas (Entity) Entitas Luar (External Entity ) Merupakan pihak di luar organisasi (bisa orang atau organisasi) yang mengirimkan input ke sistem atau menerima output dari sistem berupa data atau informasi guna menunjukkan batasan dari sistem Entitas (Entity), Merupakan pihak di dalam atau diluar organisasi (bisa orang atau organisasi) yang mengirimkan input ke sistem atau menerima output dari sistem berupa data atau informasi guna menunjukkan batasan dari sistem Perannya memberi input data ke sistem atau menerima output data/informasi dari sistem. Desainer (analis sistem) tidak mempunyai kontrol atau kekuasaan terhadap entitas eksternal. Tidak sama dengan entitas dalam basis data contoh: Bank, Sekretariat, Kaprodi, Departemen Pendidikan, dll
Aliran Data (Data Flow) Data flow (aliran data) adalah data yang mengalir di dalam sistem, tepatnya adalah : diantara dua proses dari data store ke proses dan sebaliknya dari entitas eksternal ke sistem dan sebaliknya Dari sifatnya data yang mengalir dapat sebagian atau keseluruhan tergantung kebutuhan dan dilepaskan dari pandangan proses fisik Nama sebuah aliran data diusahakan sesuai mewakili objek data sebenarnya dan sedapat mungkin tidak menimbulkan kesan proses, atau sesuatu yang berkaitan dengan format/media (misalnya : Laporan, Faktur, Surat, dsb) menyatakan data masukan ke suatu proses atau data keluaran dari suatu proses dapat juga menyatakan update data dalam suatu file, basis data atau simpanan data yang lain. contoh: Matakuliah yang diambil, Jumlah yang dibayarkan, Saldo terakhir, dll
Data Flow Packet Concept
Composite and Elementary Data Flows
Diverging and Converging Data Flows Aliran divergen dan konvergen aliran ini digunakan untuk menggambarka aliran data menyebar atau memusat pada diagram aliran data. Aliran data divergen adalah suatu aliran yang terpisah menjadi banyak data, hal ini mengindikasikan bahwa semua atau sebagian aliran data tunggal terkirim ke tujuan yang berbeda Aliran data konvergen adalah penyatuan banyak aliran data menjadi aliran data tunggal, hal ini mengindikasikan bahwa aliran data dari sumber yang berbeda dating sebagai paket tunggal untuk pengolahan selanjutnya.
Simpanan Data (Data Store) Data store adalah tempat penyimpanan atau ‘file cabinet’ (repository). Setiap data store mempunyai nama yang unik. Pandangan data store dilepaskan dari konsep file database komputer atau arsip dokumen manual. Bisa berupa file atau basis data tapi tidak selalu berupa file atau basis data Merupakan kumpulan data contoh: file Mahasiswa, data KRS, dll
Data Flows to and from Data Stores
ATURAN-ATURAN PEMBUATAN DAD Minimal salah satu ujung suatu aliran data adalah proses. Jadi tidak boleh ada aliran data : Dari entitas ke entitas Dari entitas ke simpanan data Dari simpanan data ke entitas Dari simpanan data ke simpanan data
ATURAN-ATURAN PEMBUATAN DAD Data yang mengalir dalam setiap level DAD harus konsisten (jumlah data masuk dan keluar dalam suatu proses harus konsisten) Suatu proses harus punya output Blackhole: proses tanpa output Suatu proses harus punya input Miracle: proses tanpa input Suatu proses harus punya cukup input untuk menghasilkan output Gray hole: proses tanpa input memadai untuk menghasilkan output
ATURAN-ATURAN PEMBUATAN DAD Data-data yang berasal dari sumber yang sama dan mengalir dengan tujuan yang sama dapat digambar dalam satu aliran data (aliran data komposit) Jangan gunakan aliran data menyebar untuk DAD yang penting. Sebaiknya aliran data dipisahkan menurut komponen-komponennya Sebaiknya simpanan data diberi nama sesuai dengan nama yang dipakai dalam model data (diagram ER). Kata DATA tidak perlu dipakai. Untuk mengurangi kompleksitas gambar, simbol-simbol proses, entitas, simpanan data dapat dibuat duplikatnya
Bagaimana Membuat DFD Yang Baik? Sebuah DFD yang baik harus: Tidak ada data flow yang terbagi (split) menjadi beberapa data flow Tidak ada data flow yang bertumpuk (crossing lines) Tidak mempunyai looping untuk mengontrol elemen seperti dalam flow chart Tidak ada data flow yang berfungsi sebagai ‘sinyal’ untuk menjalankan suatu proses Catatan: Membangun model sistem dengan tools DFD, tidak dapat dilepaskan dari penguasaan konsep data dan proses pada analisis dan desain sebuah sistem informasi
Model – gambaran dari realitas Model Proses Logical model – sebuah gambaran non-teknis yang melukiskan sebuah sistem. Sinonim: essential model, conceptual model, dan business model. Physical model – sebuah gambaran teknis yang melukiskan bagaimana sebuah sistem dijalankan. Sinonim: implementation model dan technical model.
Diagram Aliran Data Struktur Data Nama Aliran Data (input) Entitas Menambah Data Mengubah Data Menghapus Data Nomor Proses Nama Aliran Data Nama Proses Nama Aliran Data (output) Spesifikasi Proses Data Store Nama Aliran Data Membaca, Menampilkan
Mencatat Pelanggan Baru Diagram Aliran Data (Logis) Identitas_pelanggan_baru Administrasi 1.1 Pelanggan_Baru Mencatat Pelanggan Baru Pelanggan_baru Pelanggan Pelanggan
Mencatat Pelanggan Baru Diagram Aliran Data (Fisik) Win GUI XP: Identitas_pelanggan_baru Administrasi 1.1 SQL Insert: Pelanggan_Baru Mencatat Pelanggan Baru Pelanggan_baru SQL Server 2005: Pelanggan SQL Select: Pelanggan
Mengapa menggunakan Model Sistem Logik? Meniadakan bias yang dihasilkan dari cara yang dijalankan sistem saat ini Mengurangi resiko hilangnya business requirement karena kita terlalu terpengaruh dengan hasil-hasil teknis Memudahkan komunikasi dengan end-users dalam bahasa non-teknis
Simple Data Flow Diagram
Perbedaan antara DFD dan Flowchart Proses dalam DFD dapat dilakukan secara paralel (pada saat yang sama) Proses dalam flowchart dilakukan satu per satu (one at a time) DFD memperlihatkan aliran data melalui sebuah sistem Flowchart memperlihatkan aliran kontrol (urutan dan pemindahan kontrol) Proses pada DFD dapat memiliki satuan waktu yang berbeda (daily, weekly, on demand) Proses pada flowchart adalah bagian dari sebuah program tunggal dengan satuan waktu yang konsisten (a single program with consistent timing)
Penurunan level dalam DFD Konteks Diagram Diagram Aliran Data Level 0 Diagram Aliran Data Level 1 Diagram Aliran Data Level … Diagram Aliran Data Level N Konteks Diagram Diagram Dekomposisi Diagram Aliran Data Kejadian Diagram Aliran Data Subsistem Diagram Aliran Data Sistem
Penurunan level dalam DFD
Diagram Konteks (Context Diagram ) Context Diagram merupakan tingkatan tertinggi dalam diagram aliran data dan hanya memuat satu proses, menunjukkan sistem secara keseluruhan. Proses tersebut diberi nomor nol. Semua entitas eksternal yang ditunjukkan pada diagram konteks berikut aliran data-aliran data utama menuju dan dari sistem. Diagram tersebut tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan, begitu entitas-entitas eksternal serta aliran data-aliran daa menuju dan dari sistem diketahui penganalisis dari wawancara dengan user dan sebagai hasil analisis dokumen.
Diagram Konteks (Context Diagram ) Context Diagram adalah data flow diagram tingkat atas (DFD Top Level), yaitu diagram yang paling tidak detail, dari sebuah sistem informasi yang menggambarkan aliran-aliran data ke dalam dan ke luar sistem dan ke dalam dan ke luar entitas-entitas eksternal. CD menggambarkan sistem dalam satu lingkaran dan hubungan dengan entitas luar. Lingkaran tersebut menggambarkan keseluruhan proses dalam sistem.
Aturan dalam (Context Diagram ) Menggunakan satu simbol proses, Nama/keterangan di simbol proses tersebut sesuai dengan fungsi sistem tersebut, Antara Entitas Eksternal/Terminator tidak diperbolehkan komunikasi langsung Jika terdapat termintor yang mempunyai banyak masukan dan keluaran, diperbolehkan untuk digambarkan lebih dari satu sehingga mencegah penggambaran yang terlalu rumit, dengan memberikan tanda asterik ( * ) atau garis silang ( # ). Jika Terminator mewakili individu (personil) sebaiknya diwakili oleh peran yang dipermainkan personil tersebut. Aliran data ke proses dan keluar sebagai output keterangan aliran data berbeda.
Dekomposisi Proses (Process Decomposition) Sistem kompleks biasanya terlalu sulit untuk di pahami secara menyeluruh pada saat ditampilkan sebagai suatu keseluruhan (dalam arti sebagai suatu proses tunggal atau yang utuh). Oleh karena itu system yang seperti ini dalam analisis sistem diuraikan menjadi subsistem-subsistem yang lebih kecil sampai kita mendapatkan subset yang mampu di kelola keseluruhan sistem.
Dekomposisi Proses (Process Decomposition) Dekomposisi adalah kegiatan menguraikan sistem ke dalam subsistem, proses dan subproses komponennya. Tiap tingkatan abstraksi menampilkan detail lebih banyak atau lebih sedikit (sesuai keinginan) mengenai keseluruhan sistem atau subset system tersebut. Dekomposisi diagram adalah alat yang digunakan untuk menggambarkan dekomposisi system. Disebut juga bagan hirarki, menunjukkan dekomposisi fungsional top-down dan struktur sistem. Dekomposisi diagram merupakan alat perencanaan untuk model proses yang lebih detail, yaitu diagram aliran data.
Subsistem Proses Subproses
Dekomposisi Proses (Process Decomposition) Decomposition – tindakan membagi sebuah sistem ke dalam beberapa subkomponen. Masing-masing tingkat abstraksi menampilkan lebih banyak atau lebih sedikit rincian.
Ketentuan Dalam Pendekomposisian Tiap proses dalam diagram dekomposisi merupakan proses induk, proses anak, atau keduanya. Induk harus memiliki dua anak atau lebih-satu anak tunggal tidak masuk akal karena tidak akan menunjukkan detail tambahan mengenai system tersebut. Pada sebagian besar standar pendiagraman dekomposisi satu anak hanya dapat memiliki satu induk Pada akhirnya anak dari satu induk dapat menjadi induk dari anak-anaknya sendiri.
Diagram Dekomposisi (Decomposition Diagrams) Alat yang digunakan untuk menggambarkan dekomposisi sebuah sistem. Disebut juga hierarchy chart.
Diagram Dekomposisi (Decomposition Diagrams) Konvensi penamaan untuk proses logika tergantung pada letak proses dalam diagram dekomposisi/diagram aliran data dan tipe proses yang di gambarkan.ada 3 tipe proses logika: fungsi, kejadian, dan proses elementer. Function/fungsi: satu sel kegiatan yang saling berkaitan dan berkelajutan pada suatu bisnis. Event/kejadian: unit kerja logika yang harus diselesaikan secara keseluruhan. Elementary process/proses elementer: kegiatan atau tugas diskrit dan detail yang dibutuhkan untuk merespon suatu kejadian.proses elementer harus dinamai dengan kata kerja kuat diikuti dengan klausa objek yang mendeskripsikan “tindakan apa yang dilakukan pada (atau untuk)….”
Diagram Level n / Data Flow Diagram Levelled Dalam diagram n DFD dapat digunakan untuk menggambarkan diagram fisik maupun diagram diagram logis. Dimana Diagram Level n merupakan hasil pengembangan dari Context Diagram ke dalam komponen yang lebih detail tersebut disebut dengan top-down partitioning. Jika kita melakukan pengembangan dengan benar, kita akan mendapatkan DFD-DFD yang seimbang.
Beberapa hal yang harus diperhatikan dalam membuat DFD Pemberian Nomor pada diagram level n Jangan menghubungkan langsung antara satu penyimpanan dengan penyimpanan lainnya (harus melalui proses). Jangan menghubungkan langsung dengan tempat penyimpanan data dengan entitas eksternal / terminator (harus melalui proses), atau sebaliknya. Jangan membuat suatu proses menerima input tetapi tidak pernah mengeluarkan output yang disebut dengan istilah “black hole”.
Beberapa hal yang harus diperhatikan dalam membuat DFD Jangan membuat suatu tempat penyimpanan menerima input tetapi tidak pernah digunakan untuk proses. Jangan membuat suatu hasil proses yang lengkap dengan data yang terbatas yang disebut dengan istilah “magic process”. Jika terdapat terminator yang mempunyai banyak masukan dan keluaran, diperbolehkan untuk digambarkan lebih dari satu sehingga mencegah penggambaran yang terlalu rumit, dengan memberikan tanda asterik ( * ) atau garis silang ( # ), begitu dengan bentuk penyimpanan. Aliran data ke proses dan keluar sebagai output keterangan aliran data berbeda.
Pemberian Nomor pada diagram level n Setiap penurunan ke level yang lebih rendah harus mampu merepresentasikan proses tersebut dalam sepesifikasi proses yang jelas. Sehingga seandainya belum cukup jelas maka seharusnya diturunkan ke level yang lebih rendah. Setiap penurunan harus dilakukan hanya jika perlu. Tidak semua bagian dari sistem harus diturunkan dengan jumlah level yang sama karena yang kompleks bisa saja diturunkan, dan yang sederhana mungkin tidak perlu diturunkan. Selain itu, karena tidak semua proses dalam level yang sama punya derajat kompleksitas yang sama juga.
Pemberian Nomor pada diagram level n Konfirmasikan DFD yang telah dibuat pada pemakai dengan cara top-down atau botten-up. Aliran data yang masuk dan keluar pada suatu proses di level n harus berhubungan dengan aliran data yang masuk dan keluar pada level n+1. Dimana level n+1 tersebut mendefinisikan sub-proses pada level n tersebut. Penyimpanan yang muncul pada level n harus didefinisikan kembali pada level n+1, sedangkan penyimpanan yang muncul pada level n tidak harus muncul pada level n-1 karena penyimpanan tersebut bersifat lokal.
Jenis bahasa pemrograman berdasarkan metodanya Pemrograman terstruktur : Pascal, C/C++, … Pemrograman berorientasi objek : C++, Java, …