2.3.1. data flow diagram (dfd)

advertisement
ALAT PEMODELAN SISTEM
2.1.KONSEP DASAR
Ada tiga alasan mengapa kita melakukan pemodelan sistem, yaitu:
1. Dapat memfokuskan perhatian pada hal yang lebih penting dalam sistem tanpa
mesti terlibat lebih jauh.
2. Mendiskusikan perubahan dan koreksi terhadap kebutuhan pemakai dengan resiko
dan biaya minimal.
3. Menguji pengertian penganalisa sistem terhadap kebutuhan pemakai dan membantu
pendesaian sistem dan programmer dalam membangun sistem. Tetapi ada banyak bentuk
model yang dapat kita gunakan dalam perancangan sistem antara lain model narasi,
model prototipe, model grafis, dll. Dalam hal ini tidak jadi masalah model mana yang
akan digunakan, yang jelas harus sampai mereperesentasikan visualisasi bentuk sistem
yang diinginkan pemakai, karena sistem akhir yang dibuat bagi pemakai akan diturunkan
dari model.
Secara garis besar model yang digunakan seharusnya mempunyai sejumlah karaktersitik,
yaitu:
Dibuat dalam bentuk grafis dan tambahan keterangan secara tekstual.
Dapat diamati dengan pola top-down dan partitioned.
Memenuhi persyaratan minimal redudancy.
Dapat merepresentasikan tingkah laku sistem.
Dari perkembangannya sampai sekarang, metodologi sistem informasi dapat dikelompokkan
menjadi empat ditinjau dari alat untuk membuat model dan paradigma. Sedangkan tahapan
pengembangan sistem informasi (waterfall, iterasi, spiral) pada prinsipnya tidak mengalami
perubahan yang mendasar, yang berbeda hanya pada sistem konvensional, mensyaratakan setiap
tahapan harus diselesaikan secara tuntas sebelum memasuki tahapan selanjutnya. Sedangkan
konsep baru lebih menekankan adanya iterasi atau pelaksanaan secara spiral.
Keempat metodologi yang disebutkan diatas terdiri dari:
1. Metodologi berorientasi keluaran (output).
2. Metodologi berorientasi proses (process).
- Data Flow Diagram (DFD) / Diagram Aliran Data.
- Data Dictionary (DD) / Kamus Data.
- Process Specification (PS) / Proses Spesifikasi.
- State-Trasition Diagram (STD).
- Block Chart Diagram (BCD).
- System Procedure Diagram (SPD).
3. Metodologi berorientasi data
- Entity Relationship Diagram (ERD) / Hubungan Entiti.
4. Object Oriented / Metodologi Berorientasi Objek.
2.2.METODE BERORIENTASI KELUARAN
Sebelum alat bantu pemodelan sistem dikembangkan, kebanyakan para perancang sistem
menggunakan pendekatan berbasis keluaran atau sering disebut pendekatan klasik (trasisononal).
Metode ini diperkenalkan sekitar tahun 1960 dengan memberikan tahapan dalam pengembangan
sistem tanpa dibekali dengan teknik dan peranti (tools) yang memadai seperti cara menganalisa,
menggambarkan sistem, sehingga sering juga disebut metodologi System Development Life
Cycle (SDLC).
Hal diatas tidak menjadi maslah untuk pengembangan sistem yang kecil dimana sistem analisa,
desain dan programmer ditangani oleh satu orang. Bagaimana dengan pengembangan sistem
yang melibatkan tim di mana sistem analisa, desain dan programmer terdiri dari orang yang
berbeda ?, disini akan timbul kesulitan dalam menyampaikan hasil analisa ke orang yang
mendesain dan dari orang yang mendesain ke programmer, karena penggunaan narasi dapat
menimbulkan persepsi yang berlainan. Foklus utama metodologi ini pada keluaran / output
seperti laporan penjualan, laporan pembelian, dan sebagainya.
Gambar 2.1 Fokus utama metodologi berorientasi keluaran
2.3.METODOLOGI BERORIENTASI PROSES
Metodologi ini disebut juga dengan metodologi analisa dan desain, diperkenalkan sekitar
tahun 1970 dan masih mendominasi dalam sistem pengembangan sistem sampai saat ini,
karena metodologi ini telah dilengkapi dengan alat-alat (tools) dan teknik-teknik yang
dibutuhkan dalam pengembangan sistem khususnya pemrograman terstruktur / modular.
Fokus utama metodologi ini pada proses dengan menggambarkan dunia nyata memakai
diagram arus data.
2.3.1. DATA FLOW DIAGRAM (DFD)
Model ini menggambarkan sistem sebagai jaringan kerja antar fungsi yang berhubungan satu
sama lain dengan aliran dan penyimpanan data. Sebagai perangkat analisis, model ini hanya
mampu memodelkan sistem dari satu sudut pandang yaitu sudut pandang fungsi. Pada sejumlah
kasus model ini biasanya dinamakan berbeda seperti buble diagram, process model, work flow
diagram, dan function model. Ada empat komponen daalam model ini yaitu:
Proses, komponen pertama dalam model ini dinamakan proses, kadang-kadang dinamakan
juga gelembung (bubble), fungsi, dan transofrmasi. Proses menunjukkan tenasformasi dari
masukkan menjadi keluaran, dalam hal ini sejumlah masukkan dapat menjadi hanya satu
keluaran ataupun sebaliknya. Proses direpresentasikan dalam bentuk lingkaran (bisa juga oval,
atau bujur sangkar dengan sudut melengkung). Proses umumnya didefinisikan dengan kata
tunggal, atau kalimat sederhana. Pada sejumlah kasus definisi ini dapat berupa nama
departemen, bagian dalam suatu organisasi, komputer perlatan mekanik. Sehingga definisi tadi
lebih sering mengidentifikasi subyek proses daripada obyek proses itu sendiri.

Aliran, aliran direpresentasikan menggunakan panah yang menunjukkan ke atau dari
proses. Arah panah menunjukkan arah aliran. Aliran yang digambarkan sebagai panah
dengan dua ujung menggambarkan terjadinya dialog. Aliran dapat juga menyebar atau
menyatu (sejumlah atribut dapat membentuk satu aliran, atau satu aliran menyebar
menjadi sejumlah atribut, atribut dalam hal ini dapat merupakan bagian atau duplikasi
dari aliran).

Penyimpanan, komponen ini digunakan untuk memodelkan kumpulan data (paket data).
Notasi yang digunakan adalah garis sejajar, segi empat dengan sudut melenkung, atau persegi
panjang. Notasi ini dapat mendefinisikan file atau basis data. Panah yang bergerak dari
penyimpanan berarti; pengunaan data paket tunggal, penggunaan data paket kelompok,
penggunaan perbagai paket dan penggunaan perbagian bagi lebih dari satu paket. Jika aliran
tidak didefinsikan, maka keseluruhan paket informasi dari penyimpanan digunakan, demikian
juga dengan aliran yang mempunyai nama sama dengan penyimpanan, sedangkan definisi aliran
yang berbeda dengan penyimpanan menunjukkan hanya satu atau dua komponen dari
keseluruhan penyimpanan yang digunakan. Hal yang penting untuk diingat bahwa penyimpanan
tidak berubah ketika paket informasi bergerak dari penyimpanan melalui aliran.
Panah yang bergerak ke penyimpanan mendeskripsikan pemulisan, perubahan atau penghapusan,
satu atau lebih paket dimasukkan ke baru), atau lebih paket dihapus, dipindahkan dari
penyimpanan, satu atau lebih paket dimodifikasi atau berubah (dapat berarti menggubah seluruh
paket atau hanya sebagain dari paket).

Teminator, yang direpresentasikan dengan persegi panjang yang mewakili entiti luar
dimana sistem berkomunikasi. Ada hal penting yang harus diingat tentang terminator.
a. Terminatro merupakan bagian luar sistem, dan aliran data (panah) yang dihubungkan dengan
terminator (ke/dari proses, ke/dari penyimpanan) dalam sistem memodelkan hubungan antar
sisten dengan dunia luar.
b. Hubungan atar terminator tidak digambarkan dalam model ini, hal ini disebabkan karena
hubungan antar terminator bukan merupakan bagian sistem yang akan dimodelkan. Jika pada
sejmumlah kasus, hubungan antar teminator sangat penting dan esensial bagi sistem yang akan
dimodelkan, maka terminator tersebut merupakan bagian dari sistem dan seharusnya dimodelkan
sebagai proses. Ketika DFD mulai dibuat kita harus hati-hati agar DFD tadi tidak kelewat
sederhana, salah dan tidak konsisten. Karena itu ada sejumlah petunjuk yang perlu dilakukan
untuk membuat DFD yang jelas, dan enak dibaca yaitu:
a. Pilih nama yang jelas maksudnya (bagi proses, aliran penyimpanan dan terminator).
1. kata kerja yang spesifik dan obyek (misalnya memproses laporan inventori, validasi nomor
telepon, dll). 2.jangan menggunakan nama yang terlalu umum (misalnya proses data, tangani
masukan, dll). 3.gunakan nama yang familiar bagi pemakai.
b. Menomori proses, 1.tidak jadi masalah bagimana urutan ditempatkan. 2.nomor tidak
menunjukkan urutan. 3.penomoran dimaksudkan sebagai identifikasi proses dan
sebagiknya menggunaan nama yang lebih mangacu pada fungsi, yaitu gabungan
antara memudahkan penuruan (level yang lebih rendah) ke proses berikutnya.
c. Menggambarkan kembali DFD sehingga cukup estetis. Dalam menggambarkan
lingkaran (proses) harus benar-benar bulat dan setiap proses memiliki ukuran yang
sama. Jangan ada yang besar atau ada yang kecil, karena dapat mengandung penafsiran
lingkaran yang besar mengontrol lingkaran yang kecil.
d. Mencegah DFD yeng teterlalu kompleks. Kegunaan DFD bukan hanya menggambarkan
fungsi dan interaksinya dalam sistem secara akurat tetapi juga untuk dibaca dan
dimengerti oleh bukan hanya penganalaisa sistem, tetapi pemakai yang berpengalaman
dalam sistem yang dimodelkan, hal ini berati: jangan membuat DFD dengan terlalu
banyak proses, aliran, penyimapanan dan terminator.
e. Meyakinkan DFD tersebut konsisten secara intren dan konsisten dengan DFD lain yang
berhubungan. Hal-hal penting yang harus diingat adalah:
1.mencegah proses yang mempunyai masukkan tetapi tidak mempunyai keluaran (dikenal
sebagi black hols).
2.mencegah proses yang mempunyai keluaran tetapi tidak mempunyai masukkan.
3.hati-hati dengan aliran dan proses yang tidak dinamakan (dapat mengakibatkan elemen data
yang saling tidak berhubungan menjadi satu).
4.hati-hati dengan penyimpanan yang punya satatus hanya dapat dibaca atau hanya dapat ditulis
yang berkaitan erat dengan hanya memproses masukkan dan hanya memproses keluaran. Level
yang paling tinggi dalam DFD hanya punya sebuah lingkaran (proses) yang memodelkan seluruh
sistem, sedangkan aliran memodelkan hubungan antar sistem dengan terminator diluar sistem
(external terminator), level ini disebut contex-diagram (diagram konteks). Dalam hal ini
berperan penomoran DFD yang sudah dibahas sebelumnya (yang berguna untuk memudahkan
penuruan DFD ke level yang lebih rendah). Penurunan ini mengacu pada aturan tertentu yaitu:
1. Setiap penurunan ke-level yang lebih rendah harus mampu merepresentasikan proses
tersebut dalam spesifikasi proses yang jelas (seandainya belum cukup jelas maka
seharusnya diturunkan ke-level yang lebih rendah).
2. Setiap penurunan harus dilakaukan hanya jika perlu.
3. Tidak semua bagian dari sistem harus diturunkan dengan jumlah level yang sama (yang
kompleks bisa saja diturunkan, dan hanya sesederhana mungkin tidak perlu diturunkan,
karena tidak semua proses dalam level yang sama punya drajat kompleksitas yang sama
juga).
4. Konfirmasikan DFD yang telah dibuat pada pemakai dengan cara top-down.
5. Aliran data yang masuk dan keluar pada suatu proses di level x harus berhubungan
dengan aliran data yang masuk dan keluar pada level x+1 yang mendefinisikan proses
pada levek x tersebut.
6. Penyimpanan yang muncul pada level x harus didefinsikan kembali pada level x+1,
sedangkan penyimpanan yang muncul pada level x tidak harus muncul pada level x-1
(karena penyimpanan tersebut bersfiat lokal).
7. Ketika mulai menurunkan DFD dari level tertinggi cobalah untuk mengidentifikasi
external events diamana sistem harus memberikan respon.
DFD sebagai perangkat pemodelan bisa dikatakan sederhana, tetapi sangat berguna untuk
memodelkan fungsi dalam sistem, jika yang akan dimodelkan punya ketergantungan dengan
waktu (misalnya real time sistem) harus dimodelkan dengan model lain. Ruginya banyak
penganalisa sistem mengira dengan DFD, maka meraka sudah tahu banyak segala sesuatu
tentang analisa terstruktur, sedangkan kenyataan membuktikan tanpa perangkat pemodelan
tambahan DFD menjadi sesuatu yang serba penuh kekurangan.
CONTOH ANALISA KASUS DFD
Sebuah Rumah Sakit UIGM yang sedang berkembang ingin meningkatkan service terhadap para
pasiennya dengan cara membangun sistem pelayanan pasien yang dibantu oleh komputer. Sistem
yang akan dibuat hanya dibatasi untuk poliklinik. Ketika pasien mendaftar maka akan dilakukan
pengecekan terhadap data yang telah disimpan untuk mencari apakah pasien tersebut pernah
terdaftar, ataukah belum. Bila belum terdaftar maka data lengkap pasien akan dimasukkan.
Sebagai salah satu bahan masukkan bagi dokter dalam melakukan diagnosa adalah catatan
kesehatan pasien. Setelah selesai pemeriksaan, dokter memberikan data tantang diagnosa
terhadap pasien tersebut, serta menuliskan resep. Dokter juga harus melaporakan tentang injeksi
apa yang telah diberikan dan resep yang dibuat dokter, maka dikeluarkan biaya tentang obat
yang harus dibayar. Selanjutnya petugas rumah sakit akan menyrahkan obat tersebut beserta
rincian biaya tersebut (biaya obat dan biaya pemeriksaan). Data tentang diagnosa dan obat yang
diberikan dicatat oleh petugas rumah sakit berharap agar sistem yang akan dibuat dapat
memberikan laporan keuangan dan laporan pemakian obat. Dari abstraksi diatas akan dibuat
DFD yang memetakan sistem pelayanan rumah sakit.
Langkah-langkah yang ditempuh adalah sebagai berikut:
1. identifikasi data-data yang berkaitan dengan sistem.
2. identifikai sumber data.
3. buat diagram konteks.
4. turunkan diagram konteks menjadi DFD level 0.
5. bila dirasa perlu turunkan DFD level 0 menjadi DFD level berikutnya.
Dari Diagram Konteks ini coba di buat level selanjutnya.
sistem pelayanan rumah sakit adalah:
Data pasien, yang diperoleh dari pasien yang bersangkutan.
Data diagnosa, yang dibuat oleh dokter setelah malakukan pemeriksaan (termasuk
injeksi yang diberikan dokter).
Resep, yang juga didapat dari dokter.
Biaya pengobatan, yang dihitung berdasarkan resep dan data diagnosa.
Laporan keuangan, yang dibuat berdasarkan biaya yang dibayarkan oleh pasien serta
harga obat yang telah digunakan, serta laporan pemakian obat-obatan, yang dibuat
berdsarkan data pemakian obat oleh pasien.
Selanjutnya kita buat diagram konteks-nya. Untuk membuat diagram konteks, kita
daftarkan terlebih dahulu terminator-terminator (entiti luar) yang berkaitan dengan sistem,
yaitu:
Dokter
Pasien
Direktur Rumah Sakit
Tahap selanjutnya adalah menurunkan Diagram Konteks menjadi DFD level ke-0. Cara yang
cukup membantu dalam penurunan diagram konteks menjadi DFD level ke-0 adalah dengan
menentukan kejadian (event) apa saja yang mungkin muncul dalam sistem. Kita catat kejadiankejadian tersebut dalam suatu daftar (list). Daftar ini sering disebut sebagai even list. Kejadiankejadian tersebut adalah:





Pencarian data pasien, untuk mengetahui apakah pasien tersebut sudah pernah
tecatat sebelumnya.
Pencetatan data pasien, untuk mencatat data pasien yang belum pernah terdaftar.
Pencatatan data injeksi.
Pencatatan data resep.

Pengambilan data riwayat kesehatan pasien, untuk digunakan oleh dokter dalam
mendiagnosa psien.
Pembuatan dafatar biaya, yaitu biaya yang harus dibayar oleh pasien.
Pembuatan laporan keuangan.
Pembuatan laoran pemakaian obat.
Bila daftar terlalu panjang (menurut Yordon, lebih dari tujuh termasuk panjang), maka
kejadian-kejadian tersebut harus dikelompokkan terlebih dahulu. Dafatar kejadian diatas
dapat dikelompokkan sebagai berikut:
1. Pendaftaran pasien
- pencarian data pasien
- pencatatan data pasien
- pengambilan data riwayat kesehatan pasien
2. Diagnosa
- pencatatan data hasil diagnosa
- pencatatan data injeksi
- pencatatan data resep
3. Pembuatan dafatar biaya
4. Pembuatan laporan
- pembuatan laporan keuangan
- pembuatan laporan pemakaian obat
LATIHAN ANALISA KASUS DFD
Sebuah hotel berbintang akan mengembangkan sebuah sistem yang dapat membantu pelayanan
tamu. Sistem tersebut diharapkan dapat langsung mengeluarkan daftar biaya yang harus dibayar
oleh tamu, ketika tamu hendak meningalkan hotel. Biaya yang harus ikut dihitung adalah biaya
kamar, biaya makanan di restoran, biaya pelayanan tambahan (pencucian baju, dll). Di hotel itu
terdapat juga sebuah toko souvenir. Tamu hotel boleh saja mengambil souvenir tertentu dimana
pembayarannya dilakukan ketika dia hendak meninggalkan hotel. Di hotel tersebut terdapat juga
bagian perjalanan yang melayani tamu yang ingin melakukan perjalanan baik dengan pesawat
terbang maupun dengan kereta api.
Download