Minggu, 25 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).



Senin, 19 November 2012

Query Language


Definisi Structured Query Language
Query adalah perintah-perintah untuk mengakses data pada sistem basis data. 
Structured Query Language adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. 
Query Language merupakan suatu bahasa spesial yang dapat mengakses informasi atau perintah yang melibatkan data pada database.
Ada 2 jenis struktur Query Language :
DDL (Data Definition Language)
1.  DDL adalah pendefinisian suatu struktur database, dalam hal ini yang dimaksudkan adalah database dan tabel.
    Contoh perintah DDL antara lain : CREATE, ALTER, RENAME, DROP.
2. DML (Data Manipulation Language)
    DML adalah suatu perintah query yang berhubungan dengan manipulasi atau pengolahan data atau record dalam tabel.
    Contoh perintah DML antara lain : SELECT, INSERT, UPDATE, DELETE.
ALJABAR  RELASIONAL
Operasi Dasar             : terdiri atas select, project, cross, union, intersection, subdifference, rename,Cartesian product
Operasi Tambahan     : terdiri atas set intersection,tetha join , natural join, division
JENIS-JENIS OPERASI 
Unary  : suatu operasi yang hanya digunakan pada suatu relasi
Binary  : suatu operasi yang memerlukan sepasang relasi
Selection merupakan suatu operasi untuk menyeleksi tupel-tupel yang memenuhi suatu predikat.
Projection merupakan sebuah operasi unary yang digunakan untuk memperoleh kolom-kolom tertentu.


Transformasi Model Data Ke Basis Data Fisik

TAHAP-TAHAP TRANSFORMASI
Mentransformasikan semua entitas dan relasi yang merupakan himpunan dari ERD ke dalam bentuk tabel.
Pada tabel terdapat field yang merupakan atribut dari suatu entitas dan relasi.
TRANSFORMASI DASAR
 Relasi 1-1 : menghubungkan dua buah himpunan entitas yang direpresentasikan dalam bentuk penambahan atribut relasi pada salah satu tabel yang mewakili.
Relasi 1-N : menghubungkan dua buah himpunan entitas yang direpresentasikan dalam pencantuman attribute key dari himpunan tabel berderajat satu sampai yang mewakilii derajat N
 Relasi N-N : menghubungkan dua bua buah himounan entitas yang direpresentasikan dalam bentuk tabel khusus yang memiliki foreign key yang berasal dari key himpunan entitas yang menghubungkannya.
IMPLEMENTASI HIMPUNAN ENTITAS LEMAH DAN SUBENTITAS
Himpunan entitas lemah dan subentitas digunakan dalam bentuk tabel sebagaimana himpunan entitas kuat hanya saja entitas kuat langsung dapat menjadi tabel utuh tanpa melihat hubungan dengan entitas lain.
Himpunan entitas lemah bisa menjadi sebuah tabel utuh jika menyertakan attribute key dari implementasi himpunan entitas lemah.

Agregasi merupakan penggambaran sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD.

Kamis, 04 Oktober 2012



Latihan 1
1. Candidate Key :
          Account   : account number, balance. 
          Customer : customer name, customer city, customer street. 
          Branch     : branch name, branch city, assets.
          Loan        : loan number, amount.
2. Primary Key    : account number, customer name, branch name, loan number.
3. Alternate Key  : balance, customer city, customer street, branch city, assets, amount.
4. Foreign Key    : tidak ada.

Latihan 2
Tabel Siswa

Tabel Pelajaran

Tabel Guru

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.

Entity Relationship Diagram


Model Data Relational



Relasi (relations) tersusun atas tuple (baris) dan atribut (kolom).
Model data meletakkan data dalam bentuk relasi (biasanya disebut tabel).
Istilah-istilah :
1. Relasi : Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.
Attribute : Kolom pada sebuah relasi.
2. Tuple : Baris pada sebuah relasi, atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap.
3. Domain : Seluruh kemungkinan nilai yang dapat diberikan kesuatu attribute.
4. egree : Jumlah atribut dalam sebuah relasi.
5. Cardinality : Jumlah tuple dalam sebuah relasi.
Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
Setiap relasi memiliki schema yang mendeskripsikan nama relasi dan atribut beserta tipenya.
Contoh : mahasiswa = (nim : string, nama_mhs : string).
Penjelasan : mahasiswa adalah nama relasi, nim dan nama_mhs adalah nama atribut. String adalah tipe dari atribut.
Cara Mendefinisikan Domain :
1. Memberi nama domain yang sesuai dengan nilai yang akan dimiliki domain tersebut.
2. Menentukan tipe data dari nilai yang akan membentuk domain.
3. Menentukan format dari domain.
Kunci-kunci atribut dari Relasi :
1. Candidate Key
Atribut yang digunakan untuk membedakan antara satu baris dan dengan baris yang lain.
2. Primary Key
Candidate key yang digunakan untuk mengidentifikasikan tuple yang unik pada suatu relasi.
3. Alternate Key
Candidate key yang tidak menjadi Primary key.
4. Foreign Key
Sebuah atribut dalam suatu relasi yng merujuk ke primary key relasi lain.

Batasan-Batasan Integritas (Integrity Constraints merupakan batasan-batasan yang diberikan terhadap suatu relasi.
Relational Integrity Rules
1. Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris(tuple) tersebut.
Nilai (konstanta) Null digunakan untuk menyatakan / mengisi atribut-atribut yang nilainya memang belum siap/tidak ada.
2. Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.
3. Referential Integrity
Garis yang menghubungkan antara satu tabel dengan  tabel lain.


Rabu, 26 September 2012

E-R diagram (Entity-Relationship Model)



Model digunakan untuk menggambarkan data dalam bentuk entity, attribute, dan relationship antar entitas.
ERD (Entity Relationship Diagaram) merupakan diagram yang menggambarkan hubungan (relationship) antar entitas(entity).
ERD dapat mengekspresikan struktur  logis sebuah basis data dengan simple dan jelas.
1.      Entitas, adalah objek yang ada dan dapat  dibedakan dari objek lain dalam dunia nyata. Entitas memiliki attribute yang membedakan dirinya dengan objek lain.
Contoh :
·         Manusia : mahasiswa, pegawai, dan pasien.
·         Tempat : toko, dan gudang.
·         Kejadian : kebakaran, dan banjir.
Entity set, yaitu kumpulan entitas yang mempunyai tipe yanag sama. Contoh : kumpulan entitas mahasiswa, kumpulan entitas pegawai, dll.
2.      Attribute, adalh property deskriptif yang dimiliki oleh semua anggota dari semua set-entitas.
Misal : nim, nama, tgl_lahir, jns_klm.
Setiap atribut pada entitas memiliki kunci atribut (key attribute) yang bersifat unik primary key.
Atribut memiliki value set ( domain ), yakni kumpulan nilai yang dapat dimasukkan pada setiap atribut.
Jenis-jenis atribut :
a.      Atomic Attribute (Atribut Sederhana), yaitu atribut yang terdiri atas satu komponen tunggal dengan keberadaan yang independen, tidak bisa diuraikan lagi . Misal : atribut nim dalam entitas mahasiswa.
b.      Composit Attribute, yaitu sebuah atribut yang terdiri dari beberapa atribut yang lebih mendasar dan bisa diuraikan. Misal : alamat mahasiswa. Alamat mahasiswa bisa diuraikan lagi, misalnya nama_kota dan kode_pos.
c.       Single-Valued Attribute (Atribut Tunggal), adalah atribut yang hanya mempunyai satu nilai untuk suatu entitas tertentu. Example : atribut jns_klm pada entity mahasiswa.
d.      Multi-Valued Attribute (Atribut Berharga Banyak), adalah terdiri dari sekumpulan nilai untuk suatu entitas tertentu . Example : atribut hobi pada entity mahasiswa.
e.      Derived Attribute, adalah atribut yang dihasilkan dari atribut lain yang tidak berasal dari suatu entitas. Example : Atribut umur yang dapat dihasilkan dari atribut tgl_lahir.

3.      Relationship
 Merupakan sebuah hubungan yang terjadi antara satu atau lebih entity dan dapat meiliki nilai atribut dimana terjadi suatu transaksi yang menghasilkan suatu nilai tertentu.
Contoh :
Entity MAHASISWA dengan nim = “1234” nama = “Abi” berelasi dengan entity sebuah MATA KULIAH kd_mk = “BD02” dan nama_kul = “BASIS DATA”.
Relasi di antara kedua entity tersebut adalah : mahasiswa sedang mengambil mata kuliah tersebut.

4.       Cardinality Ratio
 menjelaskan/menunjukkan jumlah keterhubungan antara satu entity dengan entity lainnya hingga jumlah maksimal suatu entitas.
Jenis-jenis cardinality ratio :
·         one to many : Berelasi satu-satu.
·         one to many/many to one : suatu entitas di A dihubungkan dengan banyak entitas di B.
·         many to many : Entitas di A dapat berhubungan banyak entitas di B dan sebaliknya entitas di B dapat berhubungan banyak entitas di A.
5.      Tahap-tahap pembuatan ER-Diagram :
Identifikasi dan tetapkan himpunan entitas yang akan terlibat.
Tentukan atribut dari setiap entitas.
Tentukan atribut primary key dari tiap entitas.
Tentukan relathionship antar entitas.
Tentukan atribut-atribut relationship.
Tentukan cardinality ratio.
Tentukan participation constraint.

Selasa, 18 September 2012

Pengenalan Sistem Basis Data


Kemarin sudah diulas alasan menggunakan sistem basis data , serta kelebihan dan kekurangan basis data. Dan kali ini saya akan posting yang merupakan lanjutan dari materi basis data kemarin. Berikut ulasannya semoga bermanfaat. J
Tujuan basis data adalah untuk mengatasi kekurangan pada program file. File biasanya di-save dalam bentuk .txt. Lalu data dipisahkan dengan file dengan cara data diprogram melalui program C, kemudian setelah itu dikembangkan melalui PHP.
Data vs Informasi
Data adalah fakta mentah yang belum diolah untuk mempunyai makna dalam arti belum tentu bisa dipahami.
Informasi adalah Hasil dari pemrosesan data yang sudah mempunyai informasi yang bermanfaat.
Dapat disimpulkan pengertian Basis data adalah himpunan kelompok data yang saling berhubungan yang diorganisasi sedemikian rupa tanpa pengulangan sehingga kelak dapat dimanfaatkan dengan cepat dan mudah.
Keuntungan menggunakan basis data :
·         Kecepataan dan kemudahan (speed)
·         Efisiensi ruang penyimpanan
·         Kebersamaan pemakaian (sharebility)
·         Menangani data dalam jumlah yang besar
·         Meniadakan duplikasi dan inkonsistensi  data
·         Keamanan (security)
Komponen Sistem Basis Data : Hardware, misalnya komputer, memory, dan storage.
Lantas bagaimana arsitekturnya??
Arsitektur  Basis data ada 3 :
·         Stand Alone :DBMS, Basisdata , aplikasi basis data ditempatkan pada komputer yang sama (satu pengguna).
·         Sistem Terpusat : merupakan sistem yang terdiri dari sebuah server dan sejumlah terminal (lebih dari satu pengguna).
·         Sistem client  server : untuk mengatasi kelemahan pada sistem terpusat.
DBMS (Database Management System)
Merupakan kumpulan dari program-program untuk memanage sistem database dan mengontrol database. Yang  bermanfaat untuk memasukkan data, mengubah , menghapus, memanipulasi dan memperoleh data informasi dengan praktis dan efisien.
Contoh DBMS : Oracle, Ms.SQL, Ms.Acces, MySQL, PostgresSQL, dan DB2.
Bahasa SQL (Structured Query Language) :
·         DDL (Data Definition Language)
Merupakan bahasa yang digunakan untuk medefinisikan data . contoh : create table, create database dan altertable.
·         DML (Data Manipulation Language)
Merupakan bahasa yang digunakan untuk memanipulasi data. Contoh : insert data, delete data, update data.
Ada dua jenis DML, yaitu bahasa prosedural dan bahasa non-prosedural. Bahasa procedural mensyaratkan pemakainya menentukan data apa yang dinginkan serta bagaimana cara mendapatkannya. Sedangkan bahasa non-prosedural pemakai menentukan data yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.