Senin, 26 November 2012

Functional Dependency


Functional Dependency

Functional Dependency di sebut juga Ketergantungan Fungsional.
Functional Dependency menunjukkan suatu relationship atau hubungan, batasan, keterkaitan antara atribut-atribut di dalam suatu relasi.
·         Notasi: Aà B
A dan B atribut dari sebuah tabel. Maka secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.
Macam-macam dependency :
1.      Functional dependency
a.      Full functional dependency
Jika terdapat atribut A dan  dalam suatu relasi dimana B memiliki ketergantungan fungsional secara penuh pada A, dan B bukan memiliki dependensi terhadap subset A.
Example :
{NIM, nama} à idRuang bukan Full Dependency jika nama dihilangkan, maka NIM à id Ruang bisa Full dependency.
b.      Partially Dependency
Disebut juga Ketergantungan parsial . merupakan ketergatungan fungsional, di mana beberapa atribut dapat dihilangkan dari A dan ketergantungan tetap dipertahankan. B memiliki dependensi terhadap subset A.
Example  :



NIM, nama à idRuang
Dimana jika nama dihilangkan maka ketergantungan tetap ada.
c.       Transitive Dependency
Adalah tipe functional dependency, yaitu kondisi dimana A,B,C adalah atribut sebuah relasi dimana Aà B dan Bà C, maka C dikatakan sebagai transitive dependency terhadap A melalui B.
Exaample:

Nip à {Nama, Jabatan, Gaji, KdCabang, AlmCabang}
KdCabang à AlmCabang
Normalisasi
         Normalisasai adalah suatu proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomaly, dan mengacu pada cara data item dielompokan ke dalam struktur record.

Bentuk normalisasi yang biasa digunakan adalah :

  1. First normal form (1NF)
  2. Second normal form (2NF)
  3. Third normal form (3NF)
  4. Boyce-codd normal form (BCNF)
  5. Four normal form (4NF)
  6. Five normal form (5NF)


1 NF (Bentuk Normal Pertama)
            First Normal Form, suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai.
Dalam 1NF tidak diperbolehkan adanya :
·         Atribut yang bernilai banyak (Multivalued attribute).
·         Attribut komposit atau kombinasi keduanya.

Example :


2NF (Bentuk Normal Kedua)
            Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1 NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key.
3 NF (Bentuk Normal Ketiga)
            Bentuk normal ketiga terpenuhi jika :
·         Telah memenuhi bentuk 2NF
·         Tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya (ketergantungan transitif).

Selasa, 20 November 2012

Query Languange


Query Languange yaitu Bahasa yang  digunakan untuk meminta informasi dari basis data.
Jenis Query Language :
1. Bahasa Prosedual,yaitu bahasa yang membuat suatu urutan instruksi.Contoh Aljabar Relational yang terdiri dari operasi dasar dan operasi tambahan.
2. Bahasa Non-Prosedual,yaitu bahasa yang mendiskipsikan informasi tanpa mendiskripsikan instruksi.Contoh kalkulus ralational.
Bahasa DBMS
Paket bahsa dalam DBMS dibagi menjadi 3, yaitu :
  • Data Definision Language (DDL)
  • Data Manipulasi Bahasa (DMB)
  • Data Control Language (DCL)
Query Operators
  • Relational Aljabar
  1. tuple (unary) Seleksi, proyeksi
  2. set ( biner) Union, Intersection, Perbedaan
  3. tuple (biner) Join, Divisi
  • Additional Operator
  1. Outer Join, Uni Outer
Aljabar Relational
Aljabar relasional adalah sekumpulan operasi yang digunakan untuk proses manipulasi data dalam rangka untuk mendapatkan informasi yang diperlukan dari database. Ada dua operasi pada aljabar relasional yaitu operasi dasar dan operasi tambahan :
  • Operasi Dasar
  • a. Selection ( σ )
    Merupakan operasi untuk menyeleksi tuple-tuple yang memenuhi suatu predikat, dapat dikombinasikan dengan konjungsi AND( ˄ ) dan OR( ˅ )
    b. Projection ( π )
    Merupakan operasi untuk memperoleh kolom-kolom tertentu, atau bisa juga dikatakan bahwa operasi projection adalah operasi unary yang mengirim relasi argument dengan kolom-kolom tertentu.
    c. Cartesian Product ( X )
    Merupakan operasi yang menghasilkan tabel perkalian kartesian, yang memungkinkan mengkombinasi beberapa relasi, dan merupakan relasi biner.
    d. Set-difference (— )
    Merupakan operasi untuk mendapatkan tupel yang terdapat dalam relasi satu, tapi tidak terdapat dalam relasi dua.
    e. Union ( ∪ )
    Merupakan sebuah operasi untuk menghasilkan gabungan.
    f. Rename ( ρ )
    Merupakan operasi untuk mengubah nama.
  • Operasi Tambahan
  1. Set intersection
  2. Tetha join
  3.  Division
Jenis-Jenis Operasi
  • Unary : suatu operasi yang hanya digunakan pada suatu relasi
  • Binary : suatu operasi yang memerlukan sepasang relasi
Selection
Selection merupakan suatu operasi untuk menyeleksi tupel-tupel yang memenuhi suatu predikat
Projection
Projection merupakan sebuah operasi unary yang digunakan untuk memperoleh kolom-kolom tertentu

Sabtu, 17 November 2012

Transformasi Model Data

Varian Entitas

  1. Entitas Kuat
    Himpunan entitas yang dilibatkan dalam ERD merupakan entitas kuat dan tidak memiliki ketergantungan dengan entitas lain.
  2. Entitas Lemah
    Suatu entity yang mana keberadaannya tergantung dari keberadaan entity lain dan tidak memiliki atribut yang dapat erfungsi sebagai key attribute.
Contoh Entitas kuat dan lemah



Agregasi

Menggambarkan sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD. secara kronologi mensyaratan telah adanya relasi lain dan relasi yang terbentuk tidak hanya dari entitas tapi juga mengandung unsur relasi lain.

Berikut ini contoh agregasi



Transformasi Model Data ke Basis Data Fisik

  • ERD direpresentasikan menjadi sebuah basis data secara fisik.
  • Komponen ERD ditransformasikan menjadi tabel yang merupakan komponen utama pembentuk basis data
  • Atribut yang melekat pada masing-masing himpunan entitas dan relasi akan dinyatakan sebagai field dari tabel yang sesuai.
  • Setiap himpunan entitas akan diimplementasika sebagai sebuah tabel
  • Relasi dengan derajat relasi 1-1 yang menghubungkan 2 buah himpunan entitas yang direpresentasikan dalam betuk enambahan/penyertaan atribut-atribut relasi ke tabel yang mewakili salah satu daru himpuan entitas.
  • Relasi dengan derajat relasi 1-N yang menghubungkan 2 buah himpunan entitas, juga akan direpresentasika dalam bentuk pemberian/pencantuman atribut key dari himpunan entitas berderajat 1 ke tabel yang mewakili himpunan entitas berderajat N. atribut key dari himpunan entitas berderajat 1 menjadi atribut tambahan bagi himpunan entitas berderajat N.
  • Relasi dengan derajat relasi N-N yang menghubungkan 2 buah himpunan entitas, diwujudkan dlalam bentuk tabel khusus yang memiliki field yang berasal dari key-key dari himpunan entitas yang dihubungkan.

Implementasi Himpunan Entitas Lemah dan Sub Entitas seperti dibawah ini :
  • Penggunaan himpunan entitas lemah dan Sub Entitas dalam diagram ER diimplementasikan dalam bentuk tabel sebagai mana himpunan entitas kuat.
  • Bedanya jika himpunan entitas kuat sudah dapat langsung menjadi sebuah tabel utuh/sempurna walaupun tanpa melihat elasinya dengan himpunan entitas lain.

Jumat, 26 Oktober 2012

latihan model data relational

latihan 1

  • Menentukan Relation Key dari diagram berikut :
  • Jawab :
    Diagram di atas terdiri dari 4 entitas yang akan menjadi empat tabel yaitu account, branch, dan lian. Tiap-tiap tabelnya memiliki relation key tersendiri :
  • Entitas Account
    Candidat Key  = account_number dan balance
    Primary Key   = account_number
    Alternate Key = balance
    Foreign Key   = -
  • Entitas Branch
    Candidat Key  = branch_name,branch_city,assets
    Primary Key   = branch_name
    Alternate Key = branch_city,assets
  • Entitas loan
    Candidat Key  = loan_number,amount
    Primary Key   = loan_number
    Alternate Key = amount
  • Entitas Costumers
    Candidate Key = constumer_name,costumer_city,costumer_street
    Primary Key    = costumer_name
    Alternate Key  = costumer_city,costumer_street

latihan 2
   a. tabel siswa


  b. tabel guru

  c. tabel pelajaran

d.  tabel keterhubungan

1. Candidate Key : Nama_siswa, no_presensi, kode_pelajaran,nama_pelajaran,ruang,nama_guru,NIP_guru.
2. Primary key : no_presensi
3. Alternate Key : Nama_siswa, kode_pelajaran,nama_pelajaran,ruang,nama_guru,NIP_guru.
4. Foreign Key : Kode_pelajaran, NIP_guru.


ERD




Rabu, 03 Oktober 2012

Model Data Relational


Model Data Relasional adalah suatu model basis data yang menggunakan tabel dua dimensi,  yang terdiri atas baris dan kolom untuk menggambarkan sebuah berkas data. 
                        
Model ini menunjukkan cara mengelola/mengorganisasikan data secara fisik dalam memory sekunder, yang akan berdampak pula pada bagaimana kita mengelompokkan data dan membentuk keseluruhan data yang terkait dalam sistem yang kita buat.

Contoh DBMS yang mengelola basis data relational :

-       dBase III+
-       MS.Access
-       Borland-Paradox
-       Oracle
-       DB2
-       SYBASE
-       Informix.

·         Istilah dalam Model Data Relasional :

Relasi:
Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.

Atribut:
Kolom pada sebuah relasi (field).

Tupel
Baris pada sebuah relasi (record).

Domain
Kumpulan nilai yang valid untuk satu atau lebih atribut

Derajat (degree)
Jumlah atribut dalam sebuah relasi (jumlah field)

Cardinality
Jumlah tupel dalam sebuah relasi (jumlah record)

Contoh : Mahasiswa=(nim:string, nama_mhs:string)

Keterangan : 
  • mahasiswa adalah nama relasi
  • nim dan nama_mhs adalah nama atribut
  • string adalah tipe dari atribut



Berikut adalah contoh tabel dan keterhubungannya

         Relational Key

Super key

Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih untuk membedakan antara 1 record dengan record lainnya).


Candidate key

Atribut di dalam relasi yang biasanya mempunyai nilai unik  (super key dengan jumlah field yang paling sedikit)


Primary key

Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi


Alternate key

Candidate key yang tidak dipilih sebagai primary key


Foreign key

Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa



·         Relational Integrity Rules

1.    Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut

2.    Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.

3.    Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan.





         Bahasa Pada Model data Relasional

Menggunakan bahasa query, yaitu pernyataan yang diajukan untuk mengambil informasi

Terbagi 2 :

1.   Bahasa Query Formal

Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis.
Terbagi 2, yaitu:
a. Prosedural, yaitu pemakai memberi spesifikasi data apa yang dibutuhkan dan bagaimana cara mendapatkannya.

Contoh:    
Aljabar Relasional , yaitu dimana query diekspresikan dengan cara menerapkan operator tertentu terhadap suatu tabel / relasi.

b. Non Prosedural, yaitu pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.

Contoh:
Kalkulus Relasional, dimana query menjelaskan set tuple yang diinginkan dengan cara menjelaskan predikat tuple yang diharapkan.

Terbagi 2 :
1.    Kalkulus Relasional Tupel
2.    Kalkulus Relasional Domain

2.   Bahasa Query Komersial

Bahasa Query yang dirancang sendiri oleh programmer   menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly).

Contoh :

         QUEL
Berbasis pada bahasa kalkulus relasional
           
·         QBE
Berbasis pada bahasa kalkulus relasional

·         SQL
Berbasis pada bahasa kalkulus relasional dan    aljabar relasional

Selasa, 25 September 2012

E-R D (Entity Relantionship Diagram)

ERD (Entity Relantionship Diagram) merupakan diagram yang menggambarkan hubungan (relationship) antar entitas (entity). Dengan maksud untuk mengekspresikan struktur logis sebuah basis data dengan simple dan jelas. Bagian-bagian dalam ERD itu sendiri yaitu :
  1. Entitas
  2. Attribute
  3. Relationship
  4. Cardinal Ratio


1. Entitas
  • Entitas adalah obyek yang dapat dibedakan dalam dunia nyata.
  • Entitas set adalah kumpulan dari entity yang sejenis contoh kumpulan entitas mahasiswa, dll.
  • Entitas set dapat berupa :
    - Obyek secara fisik : Rumah, Kendaraan, Peralatan
    - Obyek secara konsep : Pekerjaan , Perusahaan, Rencana
2. Atribut

Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. berikut adalah jenis-jenis atribut : 
  1. Atribut Sederhana
    Atribut yang terdiri atas satu komponen tunggal dengan keberadaan yang independen.
  2. Atribut Komposit
    Atribut yang terdiri atas beberapa atribut yang lebih mendasar.
  3. Atribut Berharga Tunggal
    Atribut yang hanya memiliki satu nilai untuk suatu entitas tertentu.
  4. Atribut Berharga Banyak
    Atribut yang dapat terdiri dari sekumpulan nilai untuk suatu entitas tertentu.
  5. Atribut Derivatif
    Atribut yang dihasilkan dari atribut lain yang tidak berasal dari suatu entitas.
3. Relationship

Relationship adalah hubungan yang terjadi antara satu atau lebih entity yang ada. Relationship set adalah kumpulan relationship yang sejenis.


4. Cardinality Ratio

Cardinality Ratio menjelaskan tentang banyaknya keterhubungan yang ada antara satu entity dengan entity yang lainnya. Cardinality Ratio dapat menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lainnya. 
Berikut ini adalah Maximum Cardinality :
  • One to One
  • One to Many or Many to One
  • Many to Many

Selasa, 18 September 2012

Database



                                               DATABASE


   Database merupakan sekumpulan informasi dan data yang saling terhubung satu sama lain. Keduanya merupakan hal yang penting dalam database. Data adalah sebuah fakta atau ketentuan atau nilai yang masih mentah karena apa yang ada di dalamnya belum di proses sama sekali sehingga belum memiliki makna yang pasti. Sedangkan informasi adalah data yang telah diproses  secara lebih lanjut dan hasil dari proses itu akan menghasilkan informasi yang memiliki makna tertentu.
Dalam pengolahan database di pelukan komponen-komponen yatu:
1.   Hardware
Merupakan perangkat keras yang digunakan untuk menyimpan database.
2.   OS (Operating System)
Merupakan perangkat lunak yang merupakan sistem operasi dasar yang ditanamkan pada komputer agar dapat menjalankan DBMS.
3.   Database
Merupakan basis data yang mewakili sistem tertentu untuk dikelola oleh user.
4.   DBMS (Database Management System)
Sekumpulan program yang berfungsi untuk mengolah database dan akses kontrol pada data yang tersimpan di database. Contohnya Oracle, Ms. Acces, MySQL, dll.
5.   User
Merupakan orang-orang yang mengelola suatu database.
6.   Aplikasi pendukung
Merupakan aplikasi yang di instal untuk memudahkan pengolahan database.
Bahasa yang digunakan untuk mengolah database terdapat 2 jenis yaitu DDL (Data Definition Language) dan DML (Data Manipulation Language). DDL merupakan bahasa membuat data sedangkan DML bahasa untuk memanipulasi data yang ada pada database.

sistem dari database yaitu:
1.   Stand Alone
Merupakan aplikasi database yang bersifat lokal dan hanya bisa dipakai oleh satu user (pemakai) saja.
2.   Sistem Terpusat
Merupakan aplikasi yang terdiri dari sebuah server dan beberapa terminal yang saling terhubung satu sama lain.
3.   Sistem Client Server
Merupakan aplikasi yang di buat untuk mengatasi kelemahan pada sistem terpusat.

Jumat, 07 September 2012

Alasan Mengapa Perlu Menggunakan Sistem Basis Data

Sistem Basis Data adalah kumpulan Kumpulan dari data yang saling berhubungan satu dengan lainnya, yang di organisasikan berdasarkan skema (struktur) tertentu, yang tersimpan di dalam hardware komputer dengan menggunakan software tertentu untuk memanipulasi data untuk memenuhi tujuan tertentu.

Alasan kita mengapa perlu menggunakan Sistem Basis Data adalah:

  1. Efisiensi data
  2. Mempermudah pencarian data
  3. Keamanan/Privacy data lebih terjamin
  4. Data lebih terorganisir
  5. Bisa saling berbagi data (sharing)
  6. Tidak adanya Redudancy data (Duplikat)
Kelebihan dan kekurangan dari Sistem Basis Data

Kelebihan :

  • Terkontrolnya data rangkap
  • Terpeliharanya keselarasan data
  • Data dapat dipakai secara bersamaan
  • Dapat diterapkan standarisasi
  • Keamanan data terjamin
  • Data independence
Kekurangan :
  • Timbulnya data rangkap
  • Kesulitan mengakses data
  • Masalah keamanan
  • Data dependence
  • Data terisonr
  • Mahal