Thursday, October 18, 2012

PIKASEBELEUN

My Kinkin
Aku nulis ini disaat aku lagi ngerasa keseeeellll banget sama kamu.
Sayang, kenapa sih kamu selalu buat aku kesel?
Mungkin itu yang buat aku sayang, cinta, dan takut banget kehilangan kamu.
Mungkin juga itu yang buat hubungan kita jadi awet.
Tanpa terasa tgl 27 bulan ini kita 1 tahun 8 bulan sayang.
20 bulan aku laluin bareng kamu nggak pernah aku rasain rasa bosan sedikitpun.
Aku cuma mau bilang walaupun kamu pikasebeleun, tapi aku bahagia bersama kamu :)
I love you MyKinkin!

Thursday, October 11, 2012

BAB VI


ALAT BANTU PERANCANGAN BASIS DATA (ERD DAN NORMALISASI)

6.1 Model ERD
6.1.1. Konsep dasar model ERD
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
Entiti 
Entitas adalah suatu obyek yang dapat diidentifikasikan secara unik dalam basis data.
Entitas : entitas kuat, entitas lemah, entitas agregasi
Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
Macam2 atribut : atribut kunci utama. Atribut multivalue,atribut komposisi, atribut turunan
Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
Relasi : relasi identifying
Alasan mengapa ER model diperlukan dalam memodelkan sebuah data :
  •   ER Model merupakan model data tingkat tinggi yang popular untuk model data relasional walau sifat abstrak dan popular, namun aspek notasi, symbol itu sama atau maknanya sama
  •   ER model ini dengan sejumlah variasinya seringkali digunakan dalam desain konseptual dari aplikasi basisdata (banyak alat untuk mendesain sebuah basis data yenga melibatkan ER Model didalamnya)
a.  Simbol ERD







c.  Derajat Relasi.
Derajat  : Menyatakan jumlah anggota entity yang terlibat didalam ikatan yang terjadi
Derajat Relasi  pada Type Relasi adalah jumlah partisipasi type entity
Ada 2 tipe derajat relasi yaitu derajat dua (Binary) dan derajat tiga (ternary)
Binary relationship adalah relasi yang melibatkan dua entity, ex. Hubungan work_for antara entity Employee dan Departement
Ternary relationship adalah relasi yang melibatkan tiga entity, Ex Hubungan Suply antara entity supplier, part dan project
Penamaan Rules adalah Penamaan dari sebuah hubungan misalnya Hubungan Work-For terdiri dari entity Employee yang bisa menjadi Employee atau Worker dan entity Departement bisa menjadi Departemen atau employer
Relasi Rekursif adalah hubungan yang terjadi pada dirinya (entity) sendiri, Ex. Hubungan Supervision pada entity Employee dimana bisa sebagai supervisi atau sebagai supervisor
d.cardinality constraint
Cardinality Constraints
Cardinality Constraints - jumlah entity instance dari suatu entity yang dapat atau harus terkait dengan entity instance dari entity type lain.
Minimum Cardinality (jumlah minimum)
– Jika 0, berarti tidak harus (optional)
– Jika 1 atau lebih, berarti harus (mandatory)
Maximum Cardinality (jumlah maksimum)
– Jumlah maksimum yang diperbolehkan
e.participation constraint
Partisipasi  : Menyatakan sifat keterlibatan tiap anggota entity dalam ikatan terjadinya hubungan.
A.   Wajib
Hubungan dosen dengan mata kuliah



Tiap dosen harus mengajar satu mata kuliah
Tiap mata kuliah harus diajar oleh seorang dosen

B.   Tidak Wajib 
Hubungan dosen dengan mata kuliah

Tiap dosen harus mengajar satu mata kuliah
Tiap mata kuliah mungkin diajarkan oleh seorang dosen dan mungkin belum ada yang mengajar.

f.Tipe Entity Weak dan strong entity.
Weak entity Adalah suatu entity yang tergantung pada entity yang lain, tidak akan ada kalau tidak ada entity master (identik dengan entity Transaksi)
Strong entities adalah tidak tergantung dengan keberadaan entity lainnya. Dapat berdiri sendiri. Memiliki identitas uniknya sendiri digambarkan dengan persegi panjang dengan satu garis

6.1.2 Transformasi ER ke model data relasional
Tahap-Tahap Transformasi :
  1. Entity-Relationship Diagram menjadi basis data.
  2. Entity menjadi tabel dan atribut menjadi kolom/field dari tabel.
  3. Entitas lemah à key dari “owner” (entitas kuat) ke tabel entitas lemah.
  4. Setiap tipe entity dibuat suatu tabel yang memuat semua atribut simple, sedangkan untuk atribut komposit hanya dimuat komponen-komponennya saja. Contoh : 

Tabel Customer
Id
name
street
city
state
zip_code






  1. Setiap tabel yang mempunyai atribut multivalue, buatlah tabel baru dimana primary key-nya merupakan gabungan dari primary key dari tabel tersebut dengan atribut multivalue
  1. Setiap unary relationship 1:N, selain membuat tabel baru berdasarkan entity, buat juga tabel baru berdasarkan relationship-nya dengan atribut kunci tamu (foreign key) berdasarkan atribut kunci dari entity tersebut dan atribut kunci alternatif sebagai primary key-nya.
 
  1. Untuk CR 1:1 dengan atau tanpa total participation maka akan dibuat tabel baru berdasarkan relationship, dimana kolom-kolomnya terdiri dari alternate key, dan primary key dari masing-masing entity.
 
  1. Untuk CR 1:N dengan atau tanpa total participation maka primary key dari sisi 1 masuk ke sisi N.
 
  1. Untuk CR M:N à dibuat tabel tersendiri berdasarkan relationshipnya dengan kolom-kolomnya terdiri dari alternate key dan primary key dari masing-masing entity
6.1.3 Contoh Aplikasi ER

CONTOH

Untuk keperluan penjelasan konsep dan penggunaan ER Model,digunakan satu contoh database “COMPANY” yang didalamnya mencatat :
-          Data Pegawai (Employee)
-          Data Departemen (Department)
-          Data Proyek (Projects)
Penjelasan dari sebagian data Company yang diperoleh setelah fase “Requirement collection and analysis” sbb :
1.      COMPANY terdiri dari sejumlah Departements. Setiap department mempunyai satu nama yang unik, nomor yang unik, dan seorang pegawai (Employee) yang bertindak sebagai manager dari department. Tanggal mulai bekerja dari manager juga dicatat dalam database (Tanggal pengangkatan sebagai manager).
Satu department dapat tersebar di sejumlah lokasi.
2.      Suatu department dapat mengendalikan sejumlah project. Setiap project mempunyai satu nama yang unik, nomor yang unik, dan satu lokasi tertentu.
3.      Data pegawai yang perlu dicatat berupa : nama, social security number, address, salary, sex dan birthdate.
Seorang pegawai ditempatkan di satu department, tetapi dapat bekerja di sejumlah project yang tidak harus dikendalikan oleh department dimana pegawai tersebut ditempatkan.
Jumlah jam perminggunya dari pegawai yang bekerja pada suatu project perlu dicatat. Juga perlu dicatat supervisor langsung dari setiap pegawai.
4.      Untuk tujuan/keperluan asuransi pegawai, maka perlu dicatat anggota keluarga dari setiap pegawai. Data yang dicatat berupa : nama anggota keluarga, sex, birthdate dan hubungan keluarga (relationship)
Alternative Notasi untuk ER Model ex (Min,Max)



Fname  
6.2 Normalisasi
6.2.1 Konsep dasar normalisasi

Normalisasi adalah suatu teknik untuk meng-organisasi data ke dalam tabel-tabel  untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.

Tujuan dari normalisasi
Ø  Untuk menghilangkan kerangkapan data
Ø  Untuk mengurangi kompleksitas
Ø  Untuk mempermudah pemodifikasian data

Tahapan  Normalisasi

            Bentuk Tidak Normal
                                    Menghilangkan perulangan group
           
Bentuk Normal Pertama (1NF)
                                    Menghilangkan ketergantungan sebagian
           
Bentuk Normal Kedua (2NF)
                                    Menghilangkan ketergantungan transitif
           
Bentuk Normal Ketiga (3NF)
                                    Menghilangkan anomali-anomali hasil dari
                                    ketergantungan fungsional
            Bentuk Normal Boyce-Codd (BCNF)
                                    Menghilangkan Ketergantungan Multivalue
           
Bentuk Normal Keempat (4NF)
                                    Menghilangkan anomali-anomali yang tersisa
           
Bentuk Normal Kelima
Ketergantungan Fungsional
Definisi :
            Atribut Y 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.
Misal, terdapat skema database PEMASOK-BARANG.
Pemasok (No-pem, Na-pem)
Tabel PEMASOK-BARANG
No_pem
Na_pem
P001
P002
P003
Baharu
Sinar
Harapan

Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :
            No-pem ---> Na-pem

Ketergantungan Fungsional Penuh
Definisi :
            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)
 Contoh :
KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)
No_pem
Na_pem
No_bar
Jumlah
P001
P001
P001
P002
P003
Baharu
Baharu
Baharu
Sinar
Harapan
B001
B002
B003
B003
B002
1000
1500
2000
1000
2000

Ketergantungan fungsional :
No-pem --> Na-pem                        
No-bar, No-pem  --> Jumlah          (Tergantung penuh thd keynya)
Ketergantungan Transitif
Definisi :
            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  )

Contoh :

No-pem
Kode-kota
Kota
No-bar
Jumlah
P01
1
Jakarta
B01
1000
P01
1
Jakarta
B02
1500
P01
1
Jakarta
B03
2000
P02
3
Bandung
B03
1000
P03
2
Surabaya
B02
2000

Ketergantungan fungsional :
No-pem                                  Kode-kota
Kode-kota                            Kota  ,   maka

No-pem                                  Kota


6.1.2 Proses Normalisasi dan contoh kasus
q  Data diuraikan dalam bentuk tabel, selanjutnya  dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
q  Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Bentuk Normal  Kesatu  (1NF)
              Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila  setiap data  bersifat atomik yaitu  setiap irisan  baris dan kolom  hanya mempunyai satu nilai data

Tabel  KIRIM-1  (Unnormal)
No_pem
Kode_kota
Kota
No_bar
Jumlah
P001


P002
P003
1


3
2
Jakarta


Bandung
Surabaya
B001
B002
B003
B003
B002
1000
1500
2000
1000
2000

Tabel  KIRIM-2  (1NF)
No_pem
Kode_kota
Kota
No_bar
Jumlah
P001
P001
P001
P002
P003
1
1
1
3
2
Jakarta
Jakarta
Jakarta
Bandung
Surabaya
B001
B002
B003
B003
B002
1000
1500
2000
1000
2000

Diagram Ketergantungan Fungsional
                                                                                               


Bentuk Normal Kedua (2NF)
            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 keynya.

Tabel PEMASOK-1  (2NF)
No_pem
Kode_kota
Kota
P001
P002
P003
1
3
2
Jakarta
Bandung
Surabaya

Bentuk Normal  Ketiga (3NF)
            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 keynya.  

Tabel  KIRIM-3  (3NF)
No_pem
No_bar
Jumlah
P001
P001
P001
P002
P003
B001
B002
B003
B003
B002
1000
1500
2000
1000
2000

Tabel  PEMASOK-2 (3NF) Tabel PEMASOK-3  (3NF)
No-pem          Kode-kota                                  Kode-kota                          Kota

P01                 1                                                          1                                  Jakarta
P02                 3                                                          2                                  Surabaya
P03                 2                                                          3                                  Bandung

Normalisasi pada database perkuliahan

Asumsi :
q  Seorang mahasiswa dapat mengambil beberapa mata kuliah
q  Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
q  Satu mata kuliah hanya diajarkan oleh satu dosen
q  Satu dosen dapat mengajar beberapa mata kuliah
q  Seorang mahasiswa pada  mata kuliah tertentu hanya mempunyai satu nilai

Tabel MAHASISWA-1   ( Unnormal )
No
Mhs
Nama Mhs
Jurusan
KodeMK
Nama MK
KodeDosen
Nama
Dosen
Nilai
2683
Welli
MI
MI350
Manajamen  DB
B104
Ati
A



MI465
Analsis Prc. Sistem
B317
Dita
B
5432
Bakri
Ak.
MI350
Manajemen DB
B104
Ati
C



AKN201
Akuntansi Keuangan
D310
Lia
B



MKT300
Dasar  Pemasaran
B212
Lola
A

Tabel MAHASISWA-2 ( 1NF )

No

Mhs

Nama Mhs
Jurusan

KodeMK

Nama MK
KodeDosen
Nama Dosen
Nilai
2683
Welli
MI
MI350
Manajamen  DB
B104
Ati
A
2683
Welli
MI
MI465
Analsis Prc. Sistem
B317
Dita
B
5432
Bakri
Ak.
MI350
Manajemen DB
B104
Ati
C
5432
Bakri
Ak.
AKN201
Akuntansi Keuangan
D310
Lia
B
5432
Bakri
Ak.
MKT300
Dasar Pemasaran
B212
Lola
A



Diagram Ketergantungan Fungsional

                                    
Tabel  KULIAH (2NF)

Kode-MK

Nama-MK
Kode-Dosen

Nama-Dosen

MI350
Manajamen  DB
B104
Ati
MI465
Analsis Prc. Sistem
B317
Dita
AKN201
Akuntansi Keuangan
D310
Lia
MKT300
Dasar  Pemasaran
B212
Lola


Tabel MAHASISWA-3 (3NF)

No-Mhs

Nama-Mhs
Jurusan
2683
Welli
MI
5432
Bakri
Ak.

Tabel NILAI (3NF)

No-Mhs

Kode MK

Nilai
2683
MI350
A
2683
MI465
B
5432
MI350
C
5432
AKN201
B
5432
MKT300
A


Tabel  MATAKULIAH (3NF)
Kode-MK
Nama-MK
Kode-Dosen
MI350
Manajamen  DB
B104
MI465
Analsis Prc. Sistem
B317
AKN201
Akuntansi Keuangan
D310
MKT300
DasarPemasaran
B212
Tabel DOSEN (3NF)
Kode- Dosen
Nama-Dosen
B104
Ati
B317
Dita
B310
Lia
B212

Lola




Sumber:
www.stafsite.gunadarma.ac.id
materi sidang comprehensi Wisnu Ajie Supardi S.Kom
www.gunadarma.ac.id