Pengelolahan Data Base



• Basis data terdiri dari dua kata yaitu basis dan data. Basis kurang lebih dapat diartikan sebagai markas/gudang/tempat   bersarang/berkumpul. Sedangka data adalah presentasi fakta dunia nyata yang mewakili suatu obyek seperti manusia   (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dsb, yang direkam dalam bentuk angka,   huruf, simbol, teks, gambar, bunyi atau kombinasinya
• Basis data sendiri dapat didefinisikan sendiri dalam sejumlah sudut pandang seperti :
• himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan   kembali dengan cepat dan mudah
• kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansasi)   yang tidak perlu, untuk memenuhi berbagai kebutuhan
• kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik.

Basis data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip utamanya adalah pengaturan data/arsip dan tujuan utamanya adalah kemudahan dan kecepatan dalam pemgambilan data/arsip. Perbedaannya hanya terletak pada media penyimpanan yang digunakan

• Suatu hal yang juga harus diperhatikan, bahwa basis data bukan hanya sekedar penyimpanan data secara elektronik (dengan bantuan komputer), artinya tidak semua bentuk penyimpanan data secara elektronik bisa disebut basis data. Kita dapat menyimpan dokumen berisi data dalam file teks (dengan pengolah kata), file speed sheet, dll, tetapi tidak bisa disebut sebagai basis data. Karena didalamnya tidak ada pemilahan dan pengelompokan data sesuai jenis/fungsi data, sehingga akan menyulitkan pencarian data kelak. Yang sangat ditonjolkan dalam basis data adalah pengaturan/ pemilahan/ pengelompokan/ pengorganisasian data yang akan kita simpan sesuai fungsi/jenisnya.
• Pengaturan/pemilahan/pengelompokan/pengorganisasian ini dapat berbentuk sejumlah file/tabel terpisah atau dalam bentuk pendefinisian kolom-kolom/field-field data dalam setiap file/tabel.




• OPERASI DASAR BASIS DATA
• Di dalam sebuah disk, basis data dapat diciptakan dan dapat pula ditiadakan. Didalam sebuah disk, kita dapat pula menempatkan beberapa (lebih dari satu) basis data. Sementara dalam sebuah basis data kita dapat menempatkan satu atau lebih file/tabel. Pada file/tabel inilah sesungguhnya data disimpan/ditempatkan. Setiap basis data umumnya dibuat untuk mewakili sebuah semesta data yang spesifik. Misalnya, ada basis data Kepegawaian, basis data akademik, basis data inventory (pergudangan), dsb. Sementara dalam basis data akademik adalah misalnya, kita dapat menempatkan file mahasiswa, file matakuliah, file dosen, file jadwal, file kehadiran, file nilai, dst.
• Karena itu, operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data dapat meliputi :
1. pembuatan basis data baru (create database) yang identik dengan pembuatan lemari arsip yang baru
2. penghapusan basis data (drop database) yang identik dengan perusakan lemari arsip (sekaligus beserta isinya jika ada).
3. pembuatan file/tabel baru kesuatu basis data (create table)  yang identik dengan penambahan arsip baru kesebuah lemari arsip yang telah ada.
4. penghapusan file/tabel dari suatu basis data (drop table) yang identik dengan perusakan map arsip lama yang ada    disebuah lemari arsip.
5. penambahan/pengisian data baru kesebuah file/tabel disebuah basis data (insert) yang identik dengan penambahan lembaran    arsip kesebuah map arsip.
6. pengambilan data dari sebuah file/tabel (retrieve/search) yang identik dengan pencarian lembaran arsip dari sebuah map    arsip.
7. pengubahan data dari sebuah file/tabel (update) yang identik dengan perbaikan isi lembaran arsip yang ada disebuah map    arsip.
8. penghapusan data dari sebuah file/tabel (delete) yang identik dengan penghapusan sebuah lembaran arsip yang ada    disebuah map arsip.
9. Operasi yang berkenaan dengan pembuatan objek (basis data dan tabel) merupakan operasi awal yang hanya dilakukan sekali    dan berlaku seterusnya. Sedangkan operasi-operasi yang berkaitan dengan isi tabel (data) merupakan operasi rutin yang    akan berlangsung berulang-ulang dan karena itu operasi-operasi inilah yang lebih tepat mewakili aktivitas pengelolaan    (management) dan pengolahan (processing) data dalam basis data.
                                                     
                                                               OBJEKTIF BASIS DATA

• Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan (objektif)   seperti berikut ini :
• kecepatan dan kemudahan (speed)
• efisiensi ruangan penyimpanan (space)
• keakuratan (accuracy)
• ketersediaan (availability)
• kelengkapan (completeness)
• keamanan (security)
• kebersamaan pemakaian (sharability)
     
                     
  

PEMODELAN DATABASE

Model Data
- Menyatakan hubungan antar data dalam database
- Ada tiga macam model data dasar
- Hierarkis
- Jaringan
- Relasional

Model Hierarkis
- Dikenal pula sebagai model pohon

Model Jaringan
Setiap anak bisa memiliki lebih dari satu orangtua
                                 

Model Relasional
- Merupakan model data yang paling populer saat ini
- Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau tabel)
- Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel lain.
                                 




Konsep Dasar Basis Data
Field
Field merupakan implementasi dari suatu atribut data.
Field merupakan unit terkecil dari data yang berarti (meaningful data) yang disimpan dalam suatu file atau basis data.

Record
Field-field tersebut diorganisasikan dalam record-record
Record merupakan koleksi dari field-field yang disusun dalam format yang telah ditentukan.

File dan Tabel
Record-record yang serupa diorganisasikan dalam grup-grup yang disebut file. Jadi file merupakan kumpulan semua kejadian dari struktur record yang diberikan.
Tabel merupakan ekivalen basis data relasional dari sebuah file.
OPERASI DASAR BASIS DATA
Menambah data
Membaca data
Mengubah data
Menghapus data.

ATRIBUT
Atribut : Identik Dengan Kolom Data
Dari data base Akademik terdapat 4 buah tabel :
Tabel mahasiswa memiliki 4 buah attribut, yaitu nim, nama_mhs, alamat_mhs ,tgl_lahir dan hobby
Tabel dosen memiliki 2 buah attribut, yaitu nama_dos, alamat_dos
Tabel kuliah memiliki 4 buah attribut, yaitu kode_kul, nama_kul, sks, dan semester
Tabel nilai memiliki 4 buah attribut, yaitu nama_kul, nim, nama_mhs, dan indeks_nilai

Atribut Deskriptif
Atribut deskriptif adalah atribut-atribut yang yang tidak menjadi atau merupakan anggota dari primary key. 

Atribut Sederhana (simple attribute) dan Atribut Komposit (composite attribute)
Atribut sederhana adalah atribut atomik yang tidak dapat dipilah lagi (contoh atribut nama), sementara atribut komposit merupakan atribut yang masih dapat diuraiakan lagi menjadi sub-sub atribut yang masing-masing memiliki makna (contoh atribut alamat yang dapat diuraikan menjadi beberapa sub atribut sperti alamat, nama_kota, kode_pos.

Atribut Bernilai Tunggal (single value attribute) & Atribut Bernilai Banyak (multi value attribute)
Atribut Bernilai Tunggal ditunjukkan pada atribut-atribut yang memiliki paling banyak satu nilai untuk setiap baris data.
Atribut Bernilai Banyak ditunjukkan pada atribut-atribut yang dapat kita isi dengan lbih dari satu nilai, tetapi jenisnya sama.

Contoh pada tabel Mahasiswa
Atribut Harus Bernilai (mandatory attribute) & Nilai Null.
NIM
Nama Mahasiswa
Alamat Mahasiswa
Tgl Lahir
Hobby
Angkatan
98001
Ali Akbar
Jl.Merdeka 10, Jakarta 40121
2 Jan 1979
sepak bola, melukis, berenang
1998
95002
Budi Haryanto
Jl.Gajah Mada 2, Jakarta 45123
6 Okt 1978
Melukis, memancing
1995
97003
Imam Faizal
Komp.Griya Asri D-2, Depok 40151
13 Mei 1978
Musik
1997
98004
Indah Susanti
Jl.Adil No.123, Bogor 43212
21 Jun 1978
Membaca, berenang

1998

Atribut Harus Bernilai atribut adalah yang nilainya tidak boleh kosong. Contohnya atribut nim pada tabel mahasiswa. Sedangkan nilai (konstanta) null digunakan untuk menyatakan/mengisi atribut yang nilainya memang belum siap atau tidak ada.
Atribut Turunan
Adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan.
contohnya atribut angkatan, diperoleh dua karakter pertama dari atribut nim.
Atribut IPK diperoleh dari proses rumit (dengan formula tertentu) dari indeks nilai.

Kunci (key)
- key adalah satu/gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik. Artinya jika suatu atribut dijadikan sebagai   key, maka tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk atribut tersebut. ATAU
- Kunci merupakan elemen record yang dipakai untuk menemukan record tersebut pada waktu akses atau bisa digunakan untuk identifikasi tiap record.
- Jenis-jenis kunci :
- Superkey
- Candidat key
- Primary key
- Alternate key
- Foreign key

Kunci (key) (1)
Superkey : kumpulan atribut dari suatu tabel yang dapat digunakan untuk mengidentifikasi entity atau record dari tabel tersebut secara unik
misal pada tabel mahasiswa yg dapat menjadi super key adalah:
(nim, nama_mhs, alamat_mhs, tlg_lahir)
(nim, nama_mhs, alamat_mhs)
(nim, nama_mhs)
(nama_mhs), jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini
(nim)

Candidate key : superkey dengan jumlah atribut minimal. Candidat key ini tidak boleh berisi atribut dari tabel yang lain.


Primary key : Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb :
Key tersebut lebih natural untuk dijadikan acuan
Key tersebut lebih sederhana
Key tersebut cukup uniqe

Alternate key : Setiap atribut dari candidate key yang tidak terpilih sebagai primary key akan dinamakan alternate key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya adalah No.of Pay

Foreign key : merupakan sembarang atribut yang menunjuk kepada primary key pada tabel lain.
Akan terjadi pada suatu relasi yang memiliki kardinalitas one to many atau many to many.

Normalisasi

Dalam merancang basis data, dapat melakukannya dengan :
1. Menerapkan normalisasi terhadap stuktur tabel yang telah diketahui : dengan menerapkan sejumlah aturan dan kriteria standart untuk menghasilkan struktur tabel yang    normal.
2. Langsung membuat Model Entity – Relationship : dimana kelompok-kelompok data dan relasi antar kelompok data tersebut diwujudkan dalam bentuk diagram.
3. Normalisasi merupakan teknik  analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang  non-redundant,    stabil, dan fleksible.
4. Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

TUJUAN dari Normaliasai
- Untuk menghilangkan kerangkapan data
- Untuk mengurangi kompleksitas
- Untuk mempermudah modifikasi data
PROSES Normalisasi
1. Data diuraikan dalam bentuk tabel, selanjutnya  dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
2. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk    yang optimal. 

1. TAHAPAN NORMALISASI
Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.


KETERGANTUNGAN FUNGSIONAL
(FUNCSIONAL DEPENDENCY)
Salah satu konsep utama yang berhubungan dengan Normalisasi adalah Ketergantuangan 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.


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. ( XY,  YZ , maka  XZ  )



ANOMALY

Anomaly merupakan penyimpangan-penyimpangan atau error atau inkonsistensi data yang terjadi pada saat dilakukan proses delete, insert ataupun modify dalam suatu basis data.
Macam-Macam Penyimpangan (ANOMALY)
1. Insertion Anomaly : merupakan kesalahan yang terjadi akibat operasi penyisipan (insert) tuple/record pada sebuah tabel.
2. Delete Anomaly : merupakan kesalahan yang terjadi akibat operasi penghapusan (delete) tuple/record pada sebuah tabel.
3. Update Anomaly : merupakan kesalahan yang terjadi akibat operasi perubahan (update) tuple/record pada sebuah tabel.
Salah satu tujuan dari Normalisasi adalah untuk merancang sebuah relasi yang terhindar dari ketiga anomali diatas, bila sebuah relasi sudah terbebas dari kondisi anomali maka relasi tersebut disebut dalam keadaan baik (good-form). Untuk memenuhi bentuk normal tertentu, tabel tersebut di pecah/dekomposisi menjadi beberapa tabel ?
Contohnya :
• Jika ingin memasukan data Staff baru, tapi Staff tersebut belum ditugaskan di Kantor Cabang manapun maka yang terjadi record baru tanpa ada nilai untuk BranchNo dan bAddress.Begitu juga sebaliknya kalau kita mau insert data Branch baru yang belum memiliki Staff maka kita akan harus memasukan Branch dengan kolom Staff tetap kosong atau Null. Keadaan ini yang disebut anomali-insert.
• Kemudian bila kita ingin menghapus data Branch, misalnya BranchNo: B007, maka terpaksa kita juga harus menghapus Staff Ikrar. Atau sebaliknya bila kita ingin menghapus Staff Ikrar maka Branch B007 akan ikut terhapus.Keadaan ini yang disebut anomali-delete.
• Kemudian bila kita ingin mengupdate bAddress dari Branch B003, maka kita harus mengupdate 4 record sekaligus.Keadaan ini yang disebut anomali-update.

Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite atau kombinasinya dalam domain data yang sama. 
Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi) 


Contoh 1: Misal data mahasiswa sbb:
dari data mahsiswa tersebut dia tas didekomposisi menjadi:


Bentuk Normal Tahap Kedua (2nd Normal Form)
- Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key
- Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key) 
- Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan. 

Contoh
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
Mhs_nrp mhs_nama mhs_alamat Mk_kode mk_nama mk_sks nihuruf 
Tidak memenuhi 2NF, karena {Mhs_nrp, Mk_kode} yang dianggap sebagai primary key (gabungan key).
Tabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NF 
Functional dependencynya sbb:
{Mhs_nrp, mk_kode}       {nihuruf}                            (fd1)
Mhs_nrp                        {mhs_nama, mhs_alamat}  (fd2)
Mk_kode                        {mk_nama, mk_sks}         (fd3)
Atribut untuk masing-masing tabelnya : 
fd1 (mhs_nrp, mk_kode, nihuruf)                  Tabel Nilai
fd2 (Mhs_nrp, mhs_nama, mhs_alamat) Tabel Mahasiswa
fd3 (mk_kode, mk_nama, mk_sks)          Tabel MataKuliah

Bentuk Normal Tahap Ketiga (3rd Normal Form /3NF)
- Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya. 
- Untuk setiap Functional Dependency dengan notasi X  A, maka: 
X harus menjadi superkey pada tabel tsb.
 atau A merupakan bagian dari primary key pada tabel tsb.

Contoh
Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:
Mahasiswa 
- karena masih terdapat atribut non primary key (yakni alm_kota dan alm_Provinsi) yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni alm_kodepos):
alm_kodepos  {alm_Provinsi, alm_kota}
- Sehingga tabel tersebut perlu didekomposisi menjadi:
- Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)
- Kodepos (alm_kodepos, alm_provinsi, alm_kota)

CONTOH : NORMALISASI PADA DATABASE PERKULIAHAN
Asumsi :
1. Seorang mahasiswa dapat mengambil beberapa mata kuliah
2. Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
3. Satu mata kuliah hanya diajarkan oleh satu dosen
4. Satu dosen dapat mengajar beberapa mata kuliah
5. Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu nilai









Comments

Popular Posts