Data Flow Diagram dan Entity Relational Diagram

15,905 views
15,615 views

Published on

tutorial singkat dalam bahasa Indonesia tentang konsep dari DFD (Data Flow Diagram) dan ERD (Entity Relational Diagram). tutorial ini dilengkapi dengan contoh detil tentang cara membangun kedua diagram ini. putu.sundika@gmail.com

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
15,905
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
413
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Data Flow Diagram dan Entity Relational Diagram

  1. 1. ANALYSIS TOOLS : DFD & ERDputu.sundika@gmail.comfacebook.com/putu.sundika
  2. 2. Tools of Analysis : DFD & ERDKonsep Physical World dan Logical Equivalent Physical world atau dunia fisik adalah dunia yang nyata terjadi dan dapat kita lihat dikehidupan sehari-hari. Dunia fisik ini sangat rumit dan kompleks dengan segala hal yang terjadidi dalamnya. Faktor-faktor subyektivitas juga sangat kuat keberadaan dan pengaruhnya dalamdunia fisik. Proses pengurusan KTP adalah contoh yang sederhana sebuah proses yang terjadi didalam sebuah dunia fisik. Masyarakat jika ingin mengurus sebuah KTP maka harus datang kekelurahan kemudian mengisi form data diri. Selanjutnya form tersebut akan dikirim keKecamatan dan terus begitu sampai KTP tersebut jadi. Surat Pengantar RT/RW Kelurahan KSK Formulir KTP Membayar ADM Kecamatan Bayar Restribusi Legalisasi Foto Pengambilan KTP Gambar 1 Contoh proses pembuatan KTP Contoh proses pengurusan KTP secara manual dapat dilihat seperti gambar di atas. Setiaptahapan 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 duniafisik. Untuk membuat proses-proses bisnis di dunia fisik ini menjadi lebih efisien makadibuatlah sebuah program komputer yang akan menangani keseluruhan proses tersebut dalamwaktu yang jauh lebih singkat. E-KTP adalah contoh nyata dari implementasi sistem komputertersebut. Program komputer ini disebut sebagai logical world. Jadi untuk membuat physicalputu.sundika@gmail.com 2
  3. 3. Tools of Analysis : DFD & ERDworld menjadi lebih efisien maka physical world tersebut akan diterjemahkan / dicarikanekivalennya ke dalam logical world, contohnya adalah dengan membuat program komputer.Analogi Logical Equivalent Analogi menterjemahkan physical world ke dalam logical equivalent membutuhkanteknik khusus. Hal tersebut disebabkan karena logival equivalent tidak boleh bersifat ambiguousatau rancu. Sifatnya harus betul-betul standard dan terlepad dari faktor-faktor seubjektifitassehingga setiap orang yang capable di bidangnya dapat membaca dan mengartikannya dalamsebuah pemahaman yang sama. Keluarga Arsitek Developer Gambar 2 Proses membangun sebuah rumah Gambar 2 menggambarkan proses pembangunan rumah. Proses ini dapat digunakanuntuk penggambaran sederhana tentang logical equivalent. Untuk membangun sebuah rumahkita akan membeli tanah tempat rumah kita akan didirikan. Kemudian kita akan menghubungiArsitek. Pertanyaan pertama dari seorang Arsitek biasanya adalah “rumah seperti apa yang Andainginkan ?”. Kita akan mulai menggambarkan rumah yang kita inginkan. Misalkan kitamenginginkan halaman yang luar, pintu pagar yang tinggi, ada kolam renang dan sebagainya. Proses yang kita lakukan ini sebenarnya adalah proses menggambarkan physical worldyang kita inginkan kepada Arsitek. Arsitek akan menterjemahkan semua penggambaran kitatersebut ke dalam sebuah gambar (prototype). Gambaran physical world tadi akan kita lihat danmungkin kita revisi lagi sehingga terjadi diskusi interaktif antara kita dan Arsitek. Sampai suatusaat tercapai kata sepakat maka Arsitek dengan tool yang dimilikinya akan membuat sebuahgambar teknis atau blueprint. Gambar teknis ini lah yang disebut sebagai logical ekuivalent dariphysical world. Blueprint ini tidak dapat dibaca oleh kita sebagai customer, tetapi sangat jelasdapat dibaca oleh kontraktor pemangun rumah. Blueprint tersebut berisikan seluruh spesifikasiputu.sundika@gmail.com 3
  4. 4. Tools of Analysis : DFD & ERDteknis dari rumah yang harus dibangun. Blueprint tidak mengandung informasi yang ambiguous /rancu. Hal ini menyebabkan seorang kontraktor tidak perlu berdiskusi dengan customer / pemilikrumah. Kontraktor cukup berdiskusi dengan Arsitek. Dan itupun dilakukan dengan frekuensiyang minimal. Hal ini dikarenakan semua informasi yang diperlukan sudah ada di dalamblueprint. Setelah rumah selesai dibangun, blueprint ini sebagai dokumentasi teknis dari rumahakan diberikan kepada customer. Penggambaran proses di atas dapat kita samakan dengan dunia komputer. Dimanaseorang customer yang memesan program dapat dipandang sebagai keluarga pemesan rumahtadi. Arsitek dapat dipandang sebagai System Analyst. Kontraktor pembangun rumah dapatdipandang sebagai seorang software developer. Customer System Analyst Software Developer Gambar 3 Proses membangun sebuah program System analyst akan menanyakan sedetil-detilnya tentang kebutuhan dan keinginan daricustomer. Setelah diskusi interaktif dan menemukan kesepatan, System Analyst akan membuatsebuah bisnis flow serta dokumen teknis lainnya. Data Flow Diagram (DFD) dan Entity RelationDiagran (ERD) adalah salah satu tool yang dapat digunakan untuk membuat logical ekuivalentini. Seorang programmer komputer atau software developer tidak akan merasa perlu lagibertanya dan berdiskusi kepada customer. Hal ini dikarenakan semua hal teknis yang terkaitdengan keperluan pembuatan software sudah ada dan diberikan oleh Analyst. Walaupun physicalworld penuh dengan subyektivitas, dokumen teknis tetap dibuat dengan pendekatan matematika.Dokumentasi Teknis Data Flow Diagram selain merupakan diagram yang menterjemahkan physical world kelogical equivalent, DFD juga adalah dokumentasi dari software. Dokumentasi teknis ini sangatsangat penting dikarenakan sifat standard dan non ambiguous nya. Contoh pentingnyaputu.sundika@gmail.com 4
  5. 5. Tools of Analysis : DFD & ERDdokumentasi ini dapat kita lihat pada contoh kasus pembuatan rumah di atas. Blueprint rumahyang sudah dibuatkan oleh Arsitek adalah dokumentasi teknis dari rumah. Jika setelah beberapawaktu, rumah yang sudah berdiri dan ditempati ingin diubah / renovasi maka tentunya kita akanmenghubungi Arsitek yang sama saat pertama kita bangun rumah. Semisal Arsitek tersebutsudah tidak ada, misalkan pensiun atau sejenisnya, maka dengan memanfaatkan dokumentasi(blueprint) yang sudah ada, kita cukup menghubungi Arsitek yang lain dengan membawadokumen tadi. Arsitek yang baru tidak perlu lagi menghubungi Arsitek sebelumnya karenadokumentasi teknisnya sudah jelas. Demikian juga halnya dengan Data Flow Diagram yang sudah dimiliki, cukup diberikankepada System Analyst yang baru untuk revisi atau mungkin langsung ke software developeruntuk dibuatkan perubahannya.Simbol Data Flow Diagram Untuk membuat sebuah Data Flow Diagram, dibutuhkan setidaknya 4 simbol logicalequivalent yaitu symbol yang menggambarkan proses, entitas luar, data flow dan data store. Entitas luar Proses Data Flow Data Store Gambar 4 Simbol DFD Entitas luar / external adalah entitas yang tidak dapat dikontrol. Data Flow dan Data Storeadalah 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 representativedari database. Contoh yang sederhana yang dapat dibuatkan logical equivalentnya adalah prosespembayaran dari pembelian barang. Proses yang terjadi di physical world adalah sebagai berikut.Vendor atau supplier akan mengirimkan invoice kepada customer. Customer setelah menerimainvoice tersebut akan menyimpannya di buku kas. Setelah 30 hari kerja invoice tersebut akanditerbitkan.putu.sundika@gmail.com 5
  6. 6. Tools of Analysis : DFD & ERD 1.0 Mencatat invoice cek Supplier dan Supplier Membayar mencatat dan melihat Buku Kas Gambar 5 Data Flow Diagram pembayaran invoice Gambar 5 adalah logical equivalent dari physical world invoice di atas tadi. Data FlowDiagram pada gambar 5 terbentuk dari 2 eksternal, 1 proses, 2 data flow dan 1 data store. Jikadilihat 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 memecahke proses yang lebih detil lagi disebut sebagai decomposisi atau lebih dikenal dengan leveling. 1.1 1.2 invoice cek Supplier mencatat membayar Supplier menyimpan membaca Buku Kas Gambar 6 Data Flow Diagram yang lebih detil Hasil leveling dari gambar 5 menjadi gambar 6. Terlihat jelas bahwa pada physical worldtentang invoice tadi setelah di logival equivalent mendapatkan 2 proses dengan 2 eksternal yangterkait. Perbedaan pasti dari physical dan logical adalah bahwa logical merupakan hal yang tidakmengandung kerancuan lagi, sehingga DFD sebagai logical quivalent merupakan sebuahinformasi standard yang dapat dimengerti oleh seluruh system analyst, programmer atau softwaredeveloper sebagai sebuah gambaran proses physical world.putu.sundika@gmail.com 6
  7. 7. Tools of Analysis : DFD & ERDLOGIC MODELLING Setelah membuat logical equivalent yaitu Data Flow Diagram, maka selanjutnya adalahmelakukan pemodelan dari logic tadi. Hal ini sangat erat berhubungan dengan desain dari sebuahdatabase yang akan digunakan. Logic modeling mempunyai tujuan akhir yaitu menentukanhubungan terbaik / relasi yang paling tepat untuk diterapkan di database. Order No : _________________________________ ORDER FORM Order Date : _________________________________ Customer No : _________________________________ Customer Name : _________________________________ Customer Addres : _________________________________ Item No Item Qty Item Price Item Name Item Amount TOTAL Gambar 7 Contoh sebuah order form Gambar 7 adalah sebuah contoh dari order form yang sering digunakan di restoran atau ditempat perbelanjaan umum. Ketika customer membeli beberapa barang dari sebuah toko makaform order ini akan diisi. Jika diperhatikan lagi makan order form di atas terdiri dari 2 bagianbesar yaitu bagian header dan bagian detil. Bagian header adalah bagian yang berisikaninformasi Order No, Order Date sampai Customer Address. Sedangkan bagian detil berisikanbarang-barang yang dibeli. Order form pada gambar 7 ini akan digunakan sebagai contoh desaindatabase yang baik.Logic Data Model Setidaknya ada 3 (tiga) hal pokok yang harus dilakukan dalam membuat sebuah modeldata logic. Inilah nanti yang akan membentuk Entity Relation Diagram (ERD).1. Mengindentifikasi Candidate Key2. Memilih Primary Key3. Melakukan normalisasiputu.sundika@gmail.com 7
  8. 8. Tools of Analysis : DFD & ERDCandidate Key dan Primary Key Key seperti jika ditermahkan ke dalam Bahasa Indonesia berarti kunci. Key adalahsesuatu yang unik yang bisa digunakan untuk mewakili sesuatu. Contoh seorang mahasiswa.Yang dapat mewakili seorang mahasiswa tertentu adalah bukan namanya sebab nama mungkinsaja sama antara mahasiswa satu dengan lainnya. Yang dapat digunakan sebagai key adalahNomor Induk Mahasiswanya (NIM). NIM tidak mungkin sama untuk lebih dari seorangmahasiswa. Jika key adalah NIM maka artinya cukup dengan memanggil NIM saja maka kitabisa mengetahui data dari mahasiswa tersebut, misalkan nama, umur, kelas, alamat dan yanglainnya. Key juga berhubungan dengan pencarian. Jadi jika ingin mencari data mahasiswa, cukupdigunakan NIM nya untuk key pencarian. Ternyata NIM bukanlah satu-satunya key yang mungkin digunakan pada data mahasiswa.Ada No KTP yang juga bisa digunakan sebagai key. Sehingga sekarang kita punya 2 (dua) key.Inilah yang disebut sebagai candidate key. Salah satu dari candidate key ini harus dipilih sebagaipemenang. Pemenang akan disebut sebagai Primary Key. Sisanya disebut secondary key. Caramemilihnya adalah dengan mempertimbangkan yang mana yang akan paling sering digunakan.Jika data mahasiswa, maka tentunya yang akan paling sering digunakan adalah NIM nya.Sehingga Primary Key yang digunakan adalah NIM.Normalisasi Konsep normalisasi adalah konsep yang harus dipatuhi dalam membuat desain relasi darisebuah database. Dengan memenuhi semua konsep normalisasi ini maka desain relasi databaseakan membuat sebuah hubungan terbaik sehingga integritas dari database dapat terjaga dalamkondisi yang sempurna. Konsep dasar dari normalisasi adalah menghilangkan redundansi atauperulangan pada desain database. Contoh yang paling sederhana adalah ketika kita mempunyai 3(tiga) field yaitu quantity, price dan amount. Amount dalam hal ini isinya adalah hasil perkaliandari quantiy dan price. Hal ini adalah contoh sederhana bahwa telah terjadi redundansi yangtidak perlu. Dengan konsep normalisasi maka seharusnya kita cukup mempunyai 2 (dua) fieldsaja yaitu quantity dan price.putu.sundika@gmail.com 8
  9. 9. Tools of Analysis : DFD & ERDNormal Form (NF) Sebelum lebih jauh masuk ke dalam normalisasi, maka istilah di bawah ini adalah konsesiyang digunakan dalam desain database.Entity adalah logic equivalent dari sebuah file / table / database. Dalam contoh di atas, entitasyang dimaksud adalah entitas order.Atribut adalah elemen dari sebuah entitas. Dalam contoh di atas, atribut dari entitas order adalahorder no, order date dan seterusnya.Aturan Dasar dari NF 1st NF : tidak ada pengulangan atribut 2nd NF : tidak ada ketergantungan secara partial pada Primary Key 3th NF : tidak ada non key atribut yang tergantung terhadap non key atribut lainnyaMenggunakan contoh kasus form order di atas maka dapat kita buatkan entitas dan atribut sepertidi bawah ini : Item No Order Date Item Qty Customer No Entitas : Order Item Price Order No (PK) Customer Name Item Total Customer Address Item Name Gambar 8 Entitas, Primary Key dan non key attribute Gambar 8 menunjukkan bahwa entitas order memiliki 9 non key attribute (field) dengansebuah field sebagai Primary Key yaitu Order No. Gambar awal ini harus dianalisamenggunakan konsep normalisasi untuk mendapatkan hubungan terbaik dalam databasenya.putu.sundika@gmail.com 9
  10. 10. Tools of Analysis : DFD & ERD1st NF Normalisasi pertama menyatakan bahwa tidak boleh ada perulangan atribut. Jika kitalihat kembali gambar 7 maka ternyata ada perulangan di sana. Satu form order bisa menanganibanyak item yang dibeli oleh customer. Sehingga jika desain seperti gambar 8 digunakan dataorder hanya bisa menangani 1 item yang terbeli. Jika membeli banyak item maka akan jelasterlihat terjadi perulangan yaitu dengan order no yang sama berulang untuk item yang berbeda.Efek dari perulangan ini adalah kita harus mendefinisikan item maksimal yang harus dibelidalam sebuah order no. Hal ini tentunya sangat tidak masuk akal. Dalam dunia nyata hal iniseperti membuatkan nota baru untuk setiap kali berbelanja lebih dari sekian item. Untuk ituperlu dinormalisasi. Entitas : Order Items Entitas : Order Order No Item No (PK) Order No (PK) Item Qty Order Date Item Price Customer No Item Total Customer Name Item Name Customer Address Gambar 9 Hasil setelah 1st NF Aturan yang dapat digunakan dalam membuat 1st NF adalah setiap kali terjadi kegagalandi 1st NF maka harus dibuat sebuah entitas baru dengan menggunakan key bersambung atauconcatenated key seperti terlihat pada entitas baru Order Items yang menggunakan concatenatedkey dari Item No dan Order No.2nd NF Setelah 1st NF tercapai maka perlu dianalisa menggunakan aturan 2nd NF bahwa non keyattribute yang ada pada concatenated key, tidak boleh ada ketergantungan secara partial. Jika kitalihat kembali gambar 9 pada entitas Order Items, non key attribute Item Name hanya bergantungputu.sundika@gmail.com 10
  11. 11. Tools of Analysis : DFD & ERDpada concatenated Item No. Item Name tidak bergantung pada Order No. Hal ini dikatakanbahwa ada non key attribute yang tergantung secara partial terhadap concatenated key. Entitas : Order Items Entitas : Items Entitas : Order Order No Item No (PK) Item No (PK) Order No (PK) Item Qty Item Price Order Date Item Total Item Name Customer No Customer Name Customer Address Gambar 10 Hasil setelah 2nd NF3rd NF Terakhir adalah melakukan analisa terhadap kepatuhan aturan normalisasi 3rd NF yaitutidak boleh ada non key attribute yang saling tergantung. Jika dilihat pada gmabar 10 di atasmaka dapat dilihat bahwa Customer No, Customer Name dan Customer Address semuanyasaling tergantung. Untuk itu perlu dibuatkan sebuah entitas baru. Entitas : Order Items Entitas : Items Order No Item No (PK) Item No (PK) Item Qty Item Price Item Total Item Name Entitas : Customer Entitas : Order Customer No (PK) Order No (PK) Customer Name Order Date Customer Address Gambar 12 Hasil setelah 3th NFputu.sundika@gmail.com 11
  12. 12. Tools of Analysis : DFD & ERD Gambar 12 menunjukkan bahwa seluruh proses sudah di normalisasi. Item Total padaentitas Order Item bisa dihilangkan karena total merupakan hasil perkalian dari Item Quantitydan Item Price.Entity Relation Diagram (ERD) Setelah memastikan desain database sudah normal maka hubungannya antar entitas akandibuatkan sebuah diagram hubungan yang disebut sebagai Entity Relational Diagram (ERD).Jenis hubungan yang dimungkinakan terjadi dalam ERD adalah one to many, one to one dan zeroto many. Hubungan ini sering juga disebut sebagai cardinality. Simbolnya dapat dilihat padagambar ERD dibawah ini. Order Item Order No Item No Order Date Item Price Customer No (FK) Item Order Item Name Order No Item No Cust Item Qty Customer No Customer Name Customer Address Gambar 13 Entity Relational Diagram Gambar 13 merupakan hasil akhir dari penggambaran ERD. Cara mendapatkan gambaranseperti itu adalah dengan cara memulai melihat hubungan per entitas. Misalkan dimulai darientitas Order terhadap entitas Item Order. Digambarkan sebagai one to many. Dikarenakansebuah order no memiliki minimal sebuah item yang di order atau banyak.Sedangkan sebaliknyaentitas Item Order ke Order hubungannya adalah one to one. Untuk entitas Item terhadap ItemOrder hubungannya adalah zero to many. Hal ini dikarenakan bahwa sebuah item yang ada tidakpernah diorder atau sebuah item justru bisa banyak diorder. Sebaliknya, hubunga antara entitasItem Order terhadap Items adalah one to one. Hubungan entitas Order terhadap Customer adalahputu.sundika@gmail.com 12
  13. 13. Tools of Analysis : DFD & ERDone to one mengingat sebuah no order pastilah kepunyaan seorang customer saja. Sebaliknyaadalah hubungan one to many karena seorang customer bisa memiliki banyak order.Penutup Data Flow Diagram (DFD) dan Entity Relational Diagram (ERD) adalah tools yang bisadigunakan untuk melakukan dokumentasi teknis dari physical world ke logic equivalent.Hasilnya adalah sebuah dokumentasi teknis yang standard yang dapat dimengerti oleh orang-orang yang terkait dalah sofwater life cyle seperti system anlyst dan software developer.putu.sundika@gmail.com 13

×