Data DFD dan ERD

PENGERTIAN

            Pengertian Data Flow Diagram (DFD) menurut Jogiyanto Hartono adalah :

“Diagram yang menggunakan notasi simbol untuk menggambarkan arus data system”. (Jogiyanto Hartono, 2005, 701).

DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem yang baru yang akan dikembangkan secara logika dan menjelaskan arus data dari mulai pemasukan sampai dengan keluaran data tingkatan diagram arus data mulai dari diagram konteks yang menjelaskan secara umum suatu system atau batasan system dari level 0 dikembangkan menjadi level 1 sampai system tergambarkan secara rinci. Gambaran ini tidak tergantung pada perangkat keras, perangkat lunak, struktur data atau organisasi file.

 

II.   KOMPONEN KOMPONEN DFD

a)      Komponen Terminator/Kesatuan luar (external entity) merupakan kesatuan (entity) di lingkungan luar sistem yang dapat berupa orang, organisasi, atau sistem lain yang berada pada lingkungan luarnya yang memberikan input atau menerima output dari system

b)      Komponen Proses (process) menunjukan pada bagian yang mengubah input menjadi output, yaitu menunjukan bagaimana satu atau lebih input diubah menjadi beberapa output. Setiap proses mempunyai nama, nama dari proses ini menunjukan apa yang dikerjakan proses.

c)      Komponen Store/Simpanan Data (Data Store)

Data Store merupakan simpanan dari data yang dapat berupa suatu file atau database pada sistem komputer.

d)     Komponen  DATA FLOW / ALUR DATA

Suatu data flow / alur data digambarkan dengan anak panah, yang menunjukkan arah menuju ke dan keluar dari suatu proses.

Alur data ini digunakan untuk menerangkan perpindahan data atau paket data/informasi dari satu bagian sistem ke bagian lainnya.

Selain menunjukkan arah, alur data pada model yang dibuat oleh profesional sistem dapat merepresentasikan bit, karakter, pesan, formulir, bilangan real, dan macam-macam informasi yang berkaitan dengan komputer. Alur data juga dapat merepresentasikan data/informasi yang tidak berkaitan dengan komputer.

Alur data perlu diberi nama sesuai dengan data/informasi yang dimaksud, biasanya pemberian nama pada alur data dilakukan dengan menggunakan kata benda, contohnya Laporan Penjualan.

Ada empat konsep yang perlu diperhatikan dalam penggambaran alur data, yaitu

Konsep Paket Data (Packets of Data)

Apabila dua data atau lebih mengalir dari suatu sumber yang sama menuju ke tujuan yang sama dan mempunyai hubungan, dan harus dianggap sebagai satu alur data tunggal, karena data itu mengalir bersama-sama sebagai satu paket.

Paket Data

-ATIHAN SOAL SEDERHANAKonsep Alur Data Menyebar (Diverging Data Flow)

Alur data menyebar menunjukkan sejumlah tembusan paket data yang yang berasal dari sumber yang sama menuju ke tujuan yang berbeda, atau paket data yang kompleks dibagi menjadi beberapa elemen data yang dikirim ke tujuan yang berbeda, atau alur data ini membawa paket data yang memiliki nilai yang berbeda yang akan dikirim ke tujuan yang berbeda

Konsep Alur Data Menyebar

– Konsep Alur Data Mengumpul (Converging Data Flow)

Beberapa alur data yang berbeda sumber bergabung bersama-samamenuju ke tujuan yang sama.Konsep Alur Data

III  .SYARAT-SYARAT PEMBUATAN DFD

 

Syarat pembuatan DFD ini akan menolong profesional sistem untuk menghindari pembentukkan DFD yang salah atau DFD yang tidak lengkap atau tidak konsisten secara logika. Beberapa syarat pembutan DFD dapat menolong profesional sistem untuk membentuk DFD yang benar, menyenangkan untuk dilihat dan mudah dibaca oleh pemakai.

 

  • Pemberian nama untuk tiap komponen DFD
  • Pembrian nomor pada komponen proses
  • Penggambaran DFD sesering mungkin agar enak dilihat
  • Penghindaran penggambaran DFD yang rumit
  • Pemastian DFD dibentuk konsisten secara logika

 

 

IV.  LEVILISASI DFD

Levslisasi DFD adalah :

  1. Diagram Konteks

  2. 2Diagram Konteks
  3. Merupakan diagram tingkat atas yang terdiri dari proses dan menggambarkan hubungan terminator dengan sistem yang mewakili suatu proses. Hubungan antar Terminator dan Data Store tidak digambarkan.
    1. Diagram Zero

    Diagram Zero

Diagram ini merupakan diagram tingkat menengah yang menggambarkan proses utama dari dalam sistem, yang terdiri dari hubungan entitas (entity), proses data flow dan penyimpanan data (data store).

3. Diagram Detail dan Diagram primitif

Diagram Primitif merupakan diagram paling bawah yang tidak dapat diuraikan lagi, sedangkan Diagram Detail masih dapat diuraikan.

Diagram Detail

Contoh diagram primitive

 

 

 

 

 

 

 

V.  LATIHAN SOAL SEDERHANA DAN CONTOH KASUS

Latihan Soal Sederhana

1. Apa pengertian DFD ?

2. Sebutkan komponen-komponen DFD ?

3. Apa perbedaaan diagram detail dengan diagram primitive ?

4. Apa sajakah syarat untuk membuat DFD ?

Contoh Kasus

Berikut salah satu contoh DFD (data flow diagram) dengan studi kasus sistem transaksi jual beli di kantin koperasi. Contoh berikut hanya sebagai gambaran aliran data dalam aplikasi sistem transaksi jual beli tersebut.

Aplikasi dengan fitur-fitur sebagai berikut :

  1. Transaksi pembelian dan transaksi penjualan
  2. Transaksi penjualan dilakukan oleh kasir
  3. Transaksi pembelian pada supplier
  4. Transaksi penjualan untuk anggota Koperasi
  5. Stok barang
  6. Pengurus koperasi
  7. Dan yang lainnya

Untuk diagram konteks-nya sebagai berikut :

 

VI.  ENTITY RELATION DIAGRAM (ERD)

Dalam rekayasa perangkat lunak, sebuah Entity-Relationship Model (ERM) merupakan abstrak dan konseptual representasi data. Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem  seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Diagram untuk menggambarkan model Entitiy-Relationship ini disebut Entitiy-Relationship diagram, ER diagram, atau ERD.

  1. Definisi ERD

ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol.

  1. Langkah –langkah pembuatan ERD

Metode pembuatan ERD

  • Dalam membuat ERD, ada beberapa hal yang perlu kita waspadai, selain itu kita juga dituntut untuk lebih teliti dalam menentuka entity, relasi, atribut, menghindarkan terjadinya relasi “many to many” dan lain sebagainya. Untuk itu lihat beberapa langkah berikut agar kita bisa membuat ERD dengan baik:

Menentukan Entity

  • Disini kita dituntut untuk menentukan dengan cermat sebuah entity yang ada dalam suatu proyek atau masalah. Entity berguna untuk menentukan peran, kejadian, lokasi, hal nyata dan konsep penggunaan untuk database

Menentukan Relasi

  • Setelah kita berhasil membuat Entity, langkah selanjutnya adalah menentukan relasi antar entity. Relasi apa yang terdapat antara Entity A dan B, apakah entity A dan B memiliki relasi “one to one”, “one to many”, atau “many to many”

. Gambar ERD sementara

  • Jika sudah mengetahui Entity beserta Relasinya, sekarang kita buat dulu gambar ERD sementara. Entity digambarkan dengan persegi, relasi digambarkan dengan garis.

Isi kardinalitas Kardinalitas menentukan jumlah kejadian satu entitas untuk sebuah kejadian pada entitas yang berhubungan. Contohnya antara Entitas Buku, Distributor dan Pengarang, kardinalitas yang ada berupa:

  • Satu pengarang dapat menulis banyak buku
  • Satu buku ditulis satu pengarang
  • Banyak buku di distribusikan oleh satu distributor.
  • Dari sini kita bisa mengetahui harus memberi relasi apa. One to one kah?, dsb.

Tentukan Primary Key (Kunci Utama)

  • Menentukan Primary Key pada masing-masing entity. Primary Key adalah atribut pada entity yang bersifat unik. Jadi setiap entity hanya memiliki satu Primary Key saja. Contoh: Entity Buku memiliki Primary Key bernama kode buku. Kode Buku ini bersifat unik, karena masing-masing buku memiliki kode yang berbeda-beda.
  • Tentukan pula Foreign Key (Kunci Tamu) pada masing-masing Entity. Foreign Key adalah Primary Key yang ada dalam Entity yang lain. Contoh pada Entity Pengarang misalnya terdapat atribut kode buku, yang mana, kode buku merupakan Primary Key dari Entity buku.

Gambar ERD berdasarkan Primary Key

  • Menghilangkan relasi “many to many” dan memasukkan Primary dan Foreign Key pada masing-masing entitas. Relasi many to many antar entity perlu dihilangkan dengan cara menambah atribut baru antara 2 entity yang memiliki relasi many to many.

Menentukan Atribut

  • Jika sudah melakukan step diatas, sekarang saatnya menentukan atribut pada masing-masing Entitas. Telitilah dalam menentukan atribut.

Pemetaan Atribut

  • Apabila atribut telah ditentukan, sekarang pasang atribut dengan entitas yang sesuai.

Gambar ERD dengan Atribut Mengatur ERD

  •  seperti langkah 6 dengan menambahkan atribut dan relasi yang ditemukan.

Periksa Hasil Periksa lagi ERD. Apakah ERD sudah menggambarkan system yang akan dibangun? Jika belum, check kembali dari awal

  1. Komponen dan Notasi ERD

Komponen ERD terdiri dari

  • Entity adalah kumpulan objek atau suatu yang dapat dibedakan, didetivikasikan secara unik
  • Relationship adalah suatu hubungan yang terjadi antara satu entity dengan satu entity lainnya atau lebih
  • Anribut berfungsi sebagai pembentuk karakteristik yang melekat pada setiap entitas

Notasi ERD

Ada sejumlah konvensi mengenai Notasi  ERD. Notasi klasik sering digunakan untuk model konseptual. Berbagai notasi lain juga digunakan untuk menggambarkan secara logis dan fisik dari suatu basis data,

  1. Entitas dan Instance Entitas

Entitas, Adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak memiliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam suatu relasi.

  1. Atribut

Atribut Atribut merupakan pendeskripsian karakteristik dari entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah.

  • Atribut kunci kandidat dankunci utama

Kunci kandidat

Kunci kandidat ; yaitu suatu atribut yang mengidentifikasikan secara unik dari suatu kejadian yang sifatnya khusus dari suatu entity. Kunci kandidat ini tidak ganda dan hanya satu.

Kunci utama

Primary Key (kunci utama) adalah atribut Merupakan candidate key yang telah dipilih untuk mengidentifikasi setiap record secara unik. Primary key harus merupakan field

yang benar-benar unik dan tidak boleh ada nilai NULL. Pengertian lainya Primary Key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam table. Primary key, salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 sbb

  • Key tersebut lebih natural untuk dijadikan acuan
  • Key tersebut lebih sedrhana
  • Key tersebut cukup unuk

database tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih candidate key.

Contoh:
File pegawai berisi attribute

  • No idnuk
  • No ktp
  • Nama
  • Tempat lahir
  • Tanggal lahir
  • Alamat
  • Kota

No induk dan no ktp adalah kunci calon (Candidate Key) dan untuk kunci utama (primary key) adalah salah satu yang dipilih dari kunci calon. Misalnya No. induk di jadikan primary key, maka primary key nya adalah no induk.

  • Atribut bernilai tunggal dan Jamak

Atribut bernilai tunggal

Atribut bernilai tunggal yaitu atribut yang instan entitasnya hanya satu macam

(single value atribut).

Contoh : atribut Nama, yaitu hanya nama orang yang dimaksud. Tanggal_lahir

yaitu tanggal lahir seseorang tak mungkin ganda.

Atribut bernilai jamak

Atribut bernilai banyak yaitu atribut yang instan entitasnya lebih dari satu macam. Contoh : Pekerjaan, Hobi, dsb.

  • Atribut komposisi dan Atomik

Atribut komposisi

Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.

Aribut atomok adalah atribut yang terdiri atas satu komponen tunggal saja dan tidak bisa diuraikan lagi.

  1. Relationship

Relationship

Adalah hubungan yang terjadi antara satu entity dengan entity lainnya. Relationsgip tidak mempunyai keberadaan fisik atau konseptual kecuali yang sejenis dinamakan dengan Relationship Diagram.

  • Derajat Relationship

Drajat relationship yang menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship. Dalam Derajat Relationship terbagi dari tiga tingkatan yakni, Unary Degree , Binary Degree , kemudian Ternary Degree.

5

Perbedaan utama dari ketiga tingkatan ini adalah,

Unary Degree hanya memproses satu proses dan langsung menyelesaikannya.

Lain halnya dengan Binary Degree melakukan proses melalui perantara dan melalui suatu kerja kemudian menghasilkanoutput.Sedangkan Ternary Degree dari proses awal terdapat dua alternatif pilihan yang dapat dipilih. Sehingga output yang didapatkan bisa lebih dari satu.

  • Karadinalitas dalam relationship

Kardinalitas pemetaan ataurasiokardimalitas menunjukan jumlah entity yang dihubungkan ke satu entity lain dengan suatu relationship sets.

Kardinalitas pemetaan meliputi

  • Hubungan satu ke satu (one to one) yaitu satu entity dalamA dihubungkan maksimum satu entity.
  • Hubungan satu kebanyak (one to many) yaitu salahentity dalam A dihubungkan dengan entity dalam entity B dihubungkan dengan maksimum satu entity dalam A.
  • Hubugan banyak ke satu (many to one) yaitu salah entity dalam A dihubungkan dalam maksimum satu entity B. Satu entity dalam B dapat di hubungkandengan sejumlah entity dalam A.
  • Hubungan banyak ke banyak (many to many). Satu entity dalam A di hubungkandengan sejumlah entity dalam entity dalam B di hubungkan dengan sejumlah entity dalam A.
  • Syarat partisipasi
  1. Participation Constraint

Definisi:

Menjelaskan apakah keberadaan suatu Entity bergantung pada hubungannya dengan entity lain

 

Jenis-Jenis Participation Constraint

 

  1. Total Participation

Keberadaan suatu entity tergantung pada hubungannya dengan entity lain

 

  1. Partial Participation

Keberadaan suatu entity tidak tergantung pada hubungannya dengan Entity lainrbedaan utama dari ketiga tingkatan ini adalah,

Unary Degree hanya memproses satu proses dan langsung menyelesaikannya.

Lain halnya dengan Binary Degree melakukan proses melalui perantara dan melalui suatu kerja kemudian menghasilkanoutput.Sedangkan Ternary Degree dari proses awal terdapat dua alternatif pilihan yang dapat dipilih. Sehingga output yang didapatkan bisa lebih dari satu.

  • Karadinalitas dalam relationship

Kardinalitas pemetaan ataurasiokardimalitas menunjukan jumlah entity yang dihubungkan ke satu entity lain dengan suatu relationship sets.

Kardinalitas pemetaan meliputi

  • Hubungan satu ke satu (one to one) yaitu satu entity dalamA dihubungkan maksimum satu entity.
  • Hubungan satu kebanyak (one to many) yaitu salahentity dalam A dihubungkan dengan entity dalam entity B dihubungkan dengan maksimum satu entity dalam A.
  • Hubugan banyak ke satu (many to one) yaitu salah entity dalam A dihubungkan dalam maksimum satu entity B. Satu entity dalam B dapat di hubungkandengan sejumlah entity dalam A.
  • Hubungan banyak ke banyak (many to many). Satu entity dalam A di hubungkandengan sejumlah entity dalam entity dalam B di hubungkan dengan sejumlah entity dalam A.
  • Syarat partisipasi
  1. Participation Constraint

Definisi:

Menjelaskan apakah keberadaan suatu Entity bergantung pada hubungannya dengan entity lain

 

Jenis-Jenis Participation Constraint

 

  1. Total Participation

Keberadaan suatu entity tergantung pada hubungannya dengan entity lain

 

  1. Partial Participation

Keberadaan suatu entity tidak tergantung pada hubungannya dengan Entity lainPerbedaan utama dari ketiga tingkatan ini adalah,

Unary Degree hanya memproses satu proses dan langsung menyelesaikannya.

Lain halnya dengan Binary Degree melakukan proses melalui perantara dan melalui suatu kerja kemudian menghasilkanoutput.Sedangkan Ternary Degree dari proses awal terdapat dua alternatif pilihan yang dapat dipilih. Sehingga output yang didapatkan bisa lebih dari satu.

  • Karadinalitas dalam relationship

Kardinalitas pemetaan ataurasiokardimalitas menunjukan jumlah entity yang dihubungkan ke satu entity lain dengan suatu relationship sets.

Kardinalitas pemetaan meliputi

  • Hubungan satu ke satu (one to one) yaitu satu entity dalamA dihubungkan maksimum satu entity.
  • Hubungan satu kebanyak (one to many) yaitu salahentity dalam A dihubungkan dengan entity dalam entity B dihubungkan dengan maksimum satu entity dalam A.
  • Hubugan banyak ke satu (many to one) yaitu salah entity dalam A dihubungkan dalam maksimum satu entity B. Satu entity dalam B dapat di hubungkandengan sejumlah entity dalam A.
  • Hubungan banyak ke banyak (many to many). Satu entity dalam A di hubungkandengan sejumlah entity dalam entity dalam B di hubungkan dengan sejumlah entity dalam A.
  • Syarat partisipasi
  1. Participation Constraint

Definisi:

Menjelaskan apakah keberadaan suatu Entity bergantung pada hubungannya dengan entity lain

 

Jenis-Jenis Participation Constraint

 

  1. Total Participation

Keberadaan suatu entity tergantung pada hubungannya dengan entity lain

 

  1. Partial Participation

Keberadaan suatu entity tidak tergantung pada hubungannya dengan Entity lain

Perbedaan utama dari ketiga tingkatan ini adalah,

Unary Degree hanya memproses satu proses dan langsung menyelesaikannya.

Lain halnya dengan Binary Degree melakukan proses melalui perantara dan melalui suatu kerja kemudian menghasilkanoutput.Sedangkan Ternary Degree dari proses awal terdapat dua alternatif pilihan yang dapat dipilih. Sehingga output yang didapatkan bisa lebih dari satu.

  • Karadinalitas dalam relationship

Kardinalitas pemetaan ataurasiokardimalitas menunjukan jumlah entity yang dihubungkan ke satu entity lain dengan suatu relationship sets.

Kardinalitas pemetaan meliputi

  • Hubungan satu ke satu (one to one) yaitu satu entity dalamA dihubungkan maksimum satu entity.
  • Hubungan satu kebanyak (one to many) yaitu salahentity dalam A dihubungkan dengan entity dalam entity B dihubungkan dengan maksimum satu entity dalam A.
  • Hubugan banyak ke satu (many to one) yaitu salah entity dalam A dihubungkan dalam maksimum satu entity B. Satu entity dalam B dapat di hubungkandengan sejumlah entity dalam A.
  • Hubungan banyak ke banyak (many to many). Satu entity dalam A di hubungkandengan sejumlah entity dalam entity dalam B di hubungkan dengan sejumlah entity dalam A.
  • Syarat partisipasi
  1. Participation Constraint

Definisi:

Menjelaskan apakah keberadaan suatu Entity bergantung pada hubungannya dengan entity lain

 Jenis-Jenis Participation Constraint

 

  1. Total Participation

Keberadaan suatu entity tergantung pada hubungannya dengan entity lain

 

  • 2. Partial Participation

Keberadaan suatu entity tidak tergantung pada hubungannya dengan Entity lain

  • Gerund

Gerund (yang kadang-kadang disebut entitas komposisi) adalah suatu relationship banyak-ke-banyak yang menjadi entitas dengan relationship yang memiliki kardinalitas satu-ke-banyak. Gambar 4 menunjukkan representasi alternative dari relationship ternary yang digambarkan pada gambar 3. Pada gambar 4, tipe entitas (gerund) PENGIRIMAN menggantikan relationship Mengirim pada gambar 3. Simbol belah ketupat diikutsertakan dalam symbol persegi panjang untuk entitas sebagai pengingat bahwa entitas ini dihasilkan dari suatu relationship.

Tiap instance PENGIRIMAN merepresentasikan pengiriman yang sesungguhnya dilakukan oleh pabrik alat tertentu menuju ke gudang yang sudah ditentukan. JUMLAH pengiriman merupakan atribut PENGIRIMAN. Nomor pengiriman diberikan untuk tiap pengiriman yang dilaksanakan dan merupakan atribut kunci utama.

Perlu diingat bahwa notasi belah ketupat tidak digunakan sepanjang garis gerund ke entitas-entitas lainnya. Hal ini karena garis-garis ini bukan menampilkan relationship binary. Untuk mempertahankan arti yang sama seperti relationship ternary pada gambar 3, relationship Mengirim dari gambar 3 tidak dapat dibagi ke dalam tiga relationship binary antara PENGIRIMAN dan PABRIK, ALAT dan GUDANG.

Pada relationship binary dengan kardinalitas banyak-ke-banyak, tidak ada masalah apakah relationship ini ditampilkan sebagai gerund atau entitas. Dengan DBMS relational, relationship banyak-ke-banyak baik sebagai gerund ataupun entitas

diimplementasikan dalam cara yang sama, yaitu sebagai tabel database. Untuk relationship ternary atau berderajat yang lebih tinggi, jika salah satu tidak dapat lebih relationship bukan relationship banyak, maka relationship ini tidak dapat ditampilkan sebagai entitas.

  1. Pembutaan Model Data Berulamg
  • Model atribut value

Penggambaran atribut ini menggunakan elips bergaris ganda (lihat gambar 1.a). Biasanya atribut-atribut multivalue sering dihapus dari entitasnya, kemudian dibentuk entitas baru yang memiliki relationship dengan entitas tempat atribut multivalue dihapus.

Pada gambar 1.b, tipe entitas baru WARNA menggantikan atribut WARNA. Sekarang ada relationship banya-ke-banyak antara MOBIL dan WARNA, JENIS WARNA dipilih sebagai kunci utama (yaitu JENIS WARNA). WARNA harus juga memiliki beberapa atribut bukan kunci.

Kelompok data berulang, Kelompok berulang merupakan sekumpulan dua atau lebih atribut multivalue yang secara logika berrelasi.

Produk dengan Riwayat Harga

  1. Generalisasi : subtype dan supertipe

Generasilisai Atau Generalization adalah konsep tentang beberapa entitas yang merupakan subtype-subtipe dari tipe yang lebih umum, misalkan penumpang bisnis merupakan subtipe dari tipe entitas yang lebih umum yang disebut penumpang. Categorization adalah konsep kebalikannya, yaitu suatu entitas memiliki subtype-subtipe yang lebih khusus, misalkan subtype mobil adalah sedan, mobil sport, van, convertible.

Subtipe dan Supertipe atau Subklas dan Superklas

Satu tantangan utama dalam pembuatan model data adalah untuk mengenal dan menunjukkan entitas-entitas yang hamper sama satu sama lain, yaitu entitas-entitas yang menggunakan sifat atau karakteristik yang sama/umum, tetapi memiliki satu atau lebih sifat/karakteristik yang berbeda. Misalkan, suatu organisasi memiliki tiga tipe pegawai

yaitu pegawai honorer, pegawai bulanan dan konsultan. Beberapa atribut yang penting untuk tipe pegawai ini adalah :

1)      Pegawai honorer        :NIP,NAMA,ALAMAT,TGLMASUK,UPAH PERJAM

2)      Pegawai bulanan        :NIP,NAMA,ALAMAT,TGL MASUK,GAJI,                                            KEAHLIAN

3)      Konsultan                   :NIP,NAMA,ALAMAT,TGL MASUK,NO.KONTRAK

TARIF PERHARI

Perlu diingat bahwa semua tipe pegawai memiliki beberapa atribut yang umum, yaitu NIP,NAMA,ALAMAT dan TGL MASUK. Tiap tipe pegawai juga memiliki satu atau lebih atribut unik yang membedakan dari tipe yang lain (missal UPAH PERJAM adalah unik untuk pegawai honorer).Jika model data dikembangkan dalam situasi sepeti ini, maka ada tiga pilihan yang harus dipertimbangkan, yaitu :

v  Definisikan satu tipe entitas tunggal yang disebut PEGAWAI. Meskipun pendekatan ini secara konsep sederhana, pendekatan ini memiliki keburukan, yaitu PEGAWAI akan memiliki seluruh atribut untuk ketiga entitas di atas.

v  Misalkan untuk pegawai honorer atribut-atribut seperti GAJI dan NO.KONTRAK akan null atau tidak digunakan. Jika ada banyak variasi entitas, maka program yang menggunakan tipe entitas seperti ini akan lebih rumit.

v  Definisikan tipe entitas yang terpisah untuk ketiga entitas di atas. Pendekatan ini akan gagal untuk memanfaatkan karakteristik umum dari pegawai dan pemakai harus hati-hati untuk memilih tipe entitas yang benar bila menggunakan sistem ini.

v  Definisikan supertipe yang disebut PEGAWAI, dengan subtIpe-subtipenya PEGAWAI HONORER, PEGAWAI BULANAN dan KOSULTAN. Pendekatan ini memanfaatkan karakteristik umum dari semua pegawai, juga mengenali karakteristik yang berbeda dari tiap tipe (lihat gambar 6.)

Gambar 6. Supertipe Pegawai dengan Subtipenya

      Gambar 6 menunjukkan representasi supertipe PEGAWAI beserta subtipenya dengan menggunakan notasi ERD. Supertipe adalah tipe entitas umum (seperti PEGAWAI) yang dibagi ke dalam beberapa subtype. Subtipe adalah subset dari supertipe yang menggunakan atribut-atribut umum atau relationship yang berbeda dari subset-subset yang lain. Subtipe-subtipe suatu entitas bertindak/bekerja dalam cara yang sama seperti tipe entitas biasa. Misalkan subtype-subtipe suatu entitas memiliki atribut-atribut dan mungkin memiliki relationship dengan entitas lainya.

Pada gambar 6, atribut-atribut umum untuk semua pegawai diletakkan pada tipe entitas PEGAWAI. Kunci utama PEGAWAI, sama seperti untuk ketiga subtipenya adalah NIP. Atribut-atribut khusus untuk tiap subtype diletakkan hanya pada masing-masing subtype yang bersangkutan.

Relationship antara subtype dan supertipe disebut relationship ISA. Persegi panjang dengan sudut-sudutnya melingkar digunakan untuk menunjukkan relationship ISA. Relationship ini dibaca dari subtipe ke supertipe, misalkan ‘PEGAWAI HONORER ISA PEGAWAI’.

Seperti yang ditunjukkan pada gambar 6, kardinalitas relationship dari subtype ke supertipe adalah manadatory one. Kardinalitas disebut mandatory one karena instance suatu subtype selalu merupakan instance dari supertipe (pegawai bulanan selalu merupakan seorang pegawai).

Sebaliknya, relationship dari supertipe ke subtype adalah optional nol atau satu (seorang pegawai mungkin atau mungkin bukan seorang pegawai bulanan). Karena reklationship kardinalitas  ini selalu sama dalam relationship ISA, notasi kardinalitas dihapuskan pada diagram-diagram berikutnya.\     Pemakaian atau tidaknya relationship subtype merupakan keputusan yang dibuat oleh pembuat model data dalm tiap situasi. Subtipe-subtipe ditunjukkan untuk tiap (atau kedua) keadaan berikut :

1)      Atribut-atribut yang berbeda digunakan untuk menerangkan tiap subtype entitas, seperti dalam contoh PEGAWAI.

2)      Tiap subtype entitas berpartisipasi dalam relationship yang berbeda

Gambar 7 merupakan contoh dari pemakaian relationship subtype yang melukiskan kedua situasi ini. Tipe entitas PASIEN rumah sakit terdiri dari dua subtype, yaitu PASIEN RAWAT JALAN dan PASIEN Rawat inap (kunci utamanya adalah NO.PASIEN). Semua pasien (kedua subtype) memiliki atribut TGL.DAFTAR, dan tiap subtype entitas ditunjuk DOKTER yang akan bertanggung jawab terhadapnya sampai pasien ini sembuh. Pasien rawat jalan memiliki atribut TGL.KEMBALI, sementara pasien rawat inap memiliki TGL.KELUAR. Hanya pasien rawat inap ditentukan TEMPAT TIDUR-nya (dan tiap tempat tidur mingkin atau mungkin tidak ditempati oleh seorang pasien).

Gambar 7. Relationship ISA dalam Rumah Sakit

Subtipe Exclusive

            Pada tiap contoh relationship ISA yang telah dibahas diatas (gbr. 6 dan gbr 7) ada garis melingkar di bawah entitas supertipe yang melewati garis-garis relationship ISA menunjukkan relationship exclusive.

Relationship exclusive berarti bahwa subtype-subtipe adalah mutually exclusive dan sebagai hasilnya tiap instance supertipe harus merupakan satu anggota dari tepat satu subtype. Misalkan pada gbr 6 tiap pegawai harus merupakan pegawai honorer, pegawai bulanan atau konsultan.

Subtipe Exhaustive. Pada gbr 6, subtype adalah exhaustive; yaitu tidak ada subtype tanbahan untuk ketiga subtype yang digambarkan pada gambar ini. Sehingga, setiap instance PEGAWAI harus merupakan anggota tepat satu subtype. Begitu pula pada gambar 7, tiap PASIEN RAWAT INAP, karena tidak ada tipe-tipe lainnya.

      Situasi subtipe exhaustive mungkin berakhir bila situasi bisnis yang sedang dibuat model atau dikembangkan sudah terstruktur dengan baik dan dikenal oleh pembuat model data.

Subtipe Nonexhaustive. Bila subtype-subtipe adalah nonexhaustive, beberapa (tetapi tidak semua) subtype telah didefinidikan untuk satu supertipe. Misalkan pada gambar 8(a) tiga subtype (MOBIL, TRUK, dan MOTOR)telah didefinisikan untuk tipe entitas KENDARAAN. Untuk menunjukkan bahwa ada subtipe yang tidak terdefinisi,suatu persegi panjang telah dibiarkan kosong pada ERD yang digambarkan pada gambar 8. Bersama dengan garis melingkar, notasi ini menunjukkan bahwa tiap instance KENDARAAN adalah salah satu dalam subklas yang tidak terdefinisikan atau jika tidak tepat dalam satu subklas yang sudah terdefinisi. Dengan kata lain, suatu kendaraan merupakan salah satu dari mobil, truk, motor atau bukan dari ketiganya.

      Pemakaian subtype exhaustive memungkinkan pembuatan model data diteruskan bahkan bila situasi bisnis tidak sepenuhnya dikembangkan atau dimengerti.

Situasi lain akan terjadi bila subtype adalah Nonexclusive. Dengan kata lain, subtype nonexclusive merupakan subtype yang mungkin overlap, dan suatu instance dari supertipe mungkin dimiliki oleh lebih dari satu subtype secara simultan. Contoh dari situasi ini digambarkan pada gambar 8(b). Subtipe –subtipe yang terdefinisi dari KENDARAAN adalah MOBIL, TRUK, KENDARAAN BERODA EMPAT, dan SEPEDA (kotak kosong diikutsertakan untuk menunjukkan subtipe-subtipe yang tidak terdefinisi).

Pada contoh ini suatu instance KENDARAAN BERODA EMPAT). Dalam pembentukan model ER, penghapusan garis melingkar menunjukkan kemungkinan dari suatu instance dimiliki oleh lebih dari satu subtype. Subtipe mungkin merupakan subtype exhaustive atau nonexhaustive (untuk exhaustive kotak kosong akan dihapuskan dari ERD).

Subtipe nonexclusive mungkin berakhir bila situasi bisnis tidak dimengerti dengan baik dan cukup rumit. Metode alternative dari pembentukan subtype-subtipe dan relationship mungkin tersedia untuk menghilangkan overlap diantara subtype.

Gambar 8. Variasi pada Relationship subtipe

 

  1. Agregasi

Agregasi adalah suatu keadaan di mana suatu relasi hanya dapat direalisasikan setelah relasi yang lain ada terlebih dahulu. Relasi yang bertipe agregasi tidak dimungkinkan ada jika relasi yang menjadi prasyaratnya tidak terealisasi.

Enkapulasi adri entitas-entitas yang berelasai (*n-n).Enkapulasi diperlukan karena kedua entitas yang tidak bisa dipisah.

VII.  MAPPING (Tranformasi ERD ke Relasi)

ERD/LRS ditranformasikan ke relasi. Transformasi ini sering disebut dengan mapping ERD ke database relational.Tranformasi ini di bagi ke dalam dua langkah, yaittu:

  • Merepresentasikan relationship menjadi relasi-relasi atau table-table database.
  • Table hasil transformasi dapat dinormalkan dengan teknik normalisasi.
  • Setiap tipe Entity dibuat suatu relasi yang memuat semua atribut simple, sedangkan untuk atribut composite hanya dimuat komponen-komponennya saja.

PEGAWAI (NO_PEG, ALM1, KDPOS,……)

  • Setiap Relasi yang mempunyai atribut multivalue, buatlah relasi baru dimana Primary keynya merupakan gabungan dari primary key dari relasi tersebut dengan atribut multivalue

 

LOKPR(NOPRO, LOKASI)

  • Setiap Unary Relationship 1:N, pada relasi perlu ditambahkan suatu foreign key yang menunjuk ke nilai primary key-nya

PEGAWAI (NO_PEG, ……..,  SUPERVISOR-ID)

Normalisasi yaitu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai didalam suatu organisasi.

Tujuan:

  • Menghilangkan kerangkapan data
  1. Mengurangi kompleksitas
  2. Mempermudah pemodifikasian data

Proses Normalisasi

  • Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
  • Apabila tabel yang diuji belum memenuhi persyaratan tertentu maka tabel tersebut pelu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

Tahapan Normalisasi :

1)      Bentuk tidak normal : Menghilangkan perulangan grup.

2)      Bentuk Normal pertama (1NF) : Menghilangkan ketergantugan sebagian.

3)      Bentuk Normal kedua (2NF) : Menghilangkan ketergantungan transitif.

4)      Bentuk Normal ketiga (3NF) : Menghilangkan anomali-anomali hasil dari ketergantungan fungsional.

5)      Bentuk Normal Boyce-Codd (BCNF) : Menghilangkan ketergantungan multivalue.

6)      Bentuk Normal keempat (4NF) : Menghilangkan anomaly-anomali yang tersisa.

7)      Bentuk Normal kelima (5NF)

Ketergantungan Fungsional

Ketergantungan fungsional yaitu atribut Y pada pada relasi R dikatakan tergantung fungsional pada atribut X (R.X -> R.Y) jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.

Ketergantungan Fungsional Penuh

Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key gabungan).

Ketergantungan Transitif

Ketergantungan transitif adalah atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R.

X -> Y

Y -> Z

Maka = X -> Z

Bentuk Normal Kesatu (1NF)

Yaitu : suatu relasi dikatakan sudah memenuhi bentuk normal kesatu bila setiap data bersifat   atomik yaitu setiap irisan baris dan kolom hanya memepunyai satu nilai data.

Bentuk Normal Kedua (2NF)

Yaitu : suatu relasi dikatakan sudah memenuhi bentuk normal kedua bila relasi tersebut sudah memenuhi bentuk normal kesatu dan atribut yang bukan key sudah tergantung penuh terhadap key-nya.

Bentuk Normal Ketiga (3NF)

Yaitu : suatu relasi dikatakan sudah memenuhi bentuk normal ketiga bila relasi tersebut sudah memenuhi bentuk normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap key-nya.

  1. Konsep Mapping

Konsep Dasar Model Entity Relationship.Model entity relationship pada tahun 1976. Model ini dirancang untuk menggambarkan persepsi dari pemakai dan berisi obyek-obyek dasar yang disebut entity dan hubungan antara entit-entity tersebut yang disebut relationship. Pada model ER ini semesta data yang ada dalam dunia nyata ditransformasikan, yaitu diagram ER (Entity Relationship).

Diagram entity relationship melemgkapi penggambaran grafik dari sruktur logika. Dengan kata lain diagram ER menggambarkan arti dari aspek data sepert bagaimana entity-entity, atribut-atribut dan relationship-relationship disajikan.Sebelum membuat diagram ER, tentunya kita harus memahami betul data yang di perlukaan dan ruang lingkupnya. Didalam pembuatan  diagram ER perlu di perhatikaan penentuan sesuatau konsep apakah merupakaan konsep entity, atribut dan relationship.

  1. Aturan Mapping

Aturan 1 – Entity dan Atribut Simpel, Key & Composite

“Setiap entity yang ada di ERD dibuatkan suatu relasi di mana relasi tersebut memuat semua atribut key dan simple. Sedangkan untuk atribut composite, dibuatkan atribut sesuai dengan komponen-komponennya saja.”

  • Buatkan relasi-relasi untuk mewakilkan setiap entity yang ada pada ERD.
  • Atribut key pada setiap entity, secara otomatis menjadi primary key pada relasi bersangkutan.
  • Atribut simple pada setiap entity, secara otomatis menjadi atribut-atribut baru pada relasi bersangkutan.
  • Atribut composite pada setiap entity, maka hanya komponen-komponen pada atribut composite tersebut yang menjadi atribut di relasi bersangkutan.

Aturan 2 – Atribut Multivalue

“Setiap relasi yang mempunyai atribut multivalue, maka dibuatkan sebuah relasi baru di mana primary key-nya bertipe composite key. Primary key tersebut yaitu gabungan dari Primary Key dari entity yang memiliki atribut multivalue dan nama atribut multivalue itu sendiri.”

  • Buatkan sebuah relasi baru.
  • Relasi baru ini memiliki primary key bertipe composite key (kunci gabungan).
  • Primary key tersebut adalah gabungan dari Primary Key dari Entity tersebut dan nama Atribut multivalue itu sendiri.

Aturan 3 – Unary Relationship 1:N

“Setiap unary relationship 1:N, pada relasi tersebut perlu ditambahkan suatu foreign key yang menunjuk ke nilai primary key-nya.”

  • Pada relasi yang mewakilkan entity yang dimaksud perlu ditambahkan sebuah atribut yang bertindak sebagai foreign key.
  • Atribut foreign key ini mengacu pada primary key milik relasi itu sendiri.
  • Sebagai saran, untuk penamaan atribut foreign key di sini, gunakan penamaan yang tepat yang dapat memberikan informasi apa nama primary key acuan dan alasan kenapa mengacu pada primary key tersebut (biasanya adalah penamaan relationship unary di ERD).

Aturan 4 – Unary Relationship M:N

“Setiap Unary Relationship M:N, buatlah relasi baru dimana primary key-nya bertipe composite key. Primary key tersebut yaitu gabungan dari dua atribut di mana keduanya menunjuk ke primary key relasi awal dengan penamaan berbeda.”

  • Buatkan sebuah relasi baru.
  • Relasi baru ini memiliki primary key bertipe composite key (kunci gabungan).
  • Primary key tersebut adalah gabungan dari dua atribut foreign key, yang kedua-duanya mengacu pada primary key relasi awal.
  • Kedua atribut foreign key yang menjadi primary key ini harus memiliki penamaan yang berbeda. Penamaan ini biasanya mengacu kepada sebab terjadinya relationship unary tersebut seperti: induk – anak atau head – detail.

Aturan 5 – Binary Relationship 1:1 dgn kedua sisi Total Participation Constrain

“Setiap Binary Relationship 1:1, dimana kedua sisi Total Participation Constrain, buatlah suatu relasi baru yang merupakan relasi gabungan dari kedua entity yang be-relationship dan menghapus dua relasi lama, di mana primary key-nya pada relasi baru tersebut dapat dipilih salah satu dari dua primary key relasi awal.”

  • Buatkan sebuah relasi baru.
  • Relasi baru tersebut berupa gabungan dari dua relasi awal yang berarti semua atributnya berasal dari dua relasi awal.
  • Kedua relasi awal harus dihapus karena telah diwakilkan dengan relasi penggabungan yang baru dibuat tersebut.
  • Primary key untuk relasi baru ini dapat dipilih salah satu dari dua primary key relasi awal yang digabungkan.

Aturan 6 – Binary Relationship 1:1 dgn satu sisi Total Participation Constrain

“Setiap Binary Relationship 1:1 dan salah satu Participation Constrainnya total, maka Primary key pada relasi yang Participation Constrainnya Partial menjadi Foreign Key pada relasi yang lain.”

  • Pada relasi yang bersisi total participation constrain, perlu ditambahkan sebuah atribut yang bertindak sebagai foreign key.
  • Foreign key ini mengacu pada Primary key di relasi yang bersisi partial participation constrain.

 

Aturan 7 – Binary Relationship 1:1 dgn kedua sisi Partial Participation Constrain

“Setiap Binary Relationship 1:1, dimana kedua Participation Constrainnya partial, maka selain kedua relasi perlu dibuat relasi baru yang berisi Primary Key gabungan dari Primary Key kedua tipe Entity yang berelasi.”

  • Buatkan sebuah relasi baru.
  • Relasi baru ini memiliki primary key bertipe composite key (kunci gabungan).
  • Primary key tersebut adalah gabungan dari dua primary key entitas yang berelasi.

Aturan 8 – Binary Relationship 1:N dgn sisi N Total Participation Constrain

“Setiap Binary Relationship 1:N, dimana tipe Entity yang bersisi N mempunyai Participation Constrain Total, maka Primary Key pada relasi yang bersisi 1 dijadikan Foreign Key pada relasi yang bersisi N.”

  • Pada relasi yang bersisi N, perlu ditambahkan sebuah atribut yang bertindak sebagai foreign key.
  • Foreign key ini mengacu pada Primary key di relasi yang bersisi 1.

Aturan 9 – Binary Relationship 1:N dgn sisi N Partial Participation Constrain

“Setiap Binary Relationship 1:N , di mana tipe Entity yang bersisi N mempunyai Participation Constrain Partial, buatlah relasi baru di mana Primary Key-nya merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi.”

  • Buatkan sebuah relasi baru.
  • Relasi baru ini memiliki primary key bertipe composite key (kunci gabungan).
  • Primary key tersebut adalah gabungan dari dua primary key entitas yang berelasi.

Aturan 10 – Binary Relationship M:N

“Setiap Binary Relationship M:N, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary key kedua tipe Entity yang berelasi.”

  • Buatkan sebuah relasi baru.
  • Relasi baru ini memiliki primary key bertipe composite key (kunci gabungan).
  • Primary key tersebut adalah gabungan dari dua primary key entitas yang berelasi.

Aturan 11 – Ternary Relationship Degree

“Setiap Ternary Relationship, buatlah relasi baru dimana Primary Keynya merupakan gabungan dari Primary Key ketiga Entity yang berelasi.”

  • Buatkan sebuah relasi baru.
  • Relasi baru ini memiliki primary key bertipe composite key (kunci gabungan).
  • Primary key tersebut adalah gabungan dari tiga primary key entitas yang berelasi.

Aturan 12 – Weak Entity

“Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua atributnya di mana Primary Key-nya adalah gabungan dari Partial Key dan Primary Key di relasi induk (Identifying owner).”

  • Buatkan sebuah relasi baru.
  • Relasi baru ini memiliki primary key bertipe composite key (kunci gabungan).
  • Primary key tersebut adalah gabungan dari partial key milik weak entity dan primary key milik relasi induk.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s