Tampilkan postingan dengan label Perancangan Basis Data. Tampilkan semua postingan
Tampilkan postingan dengan label Perancangan Basis Data. Tampilkan semua postingan

Minggu, 21 Desember 2014

BASIS DATA

Kali ini saya akan membahas apa itu Basis data. berikut adalah sekilas tentang basis data.



Basis data terdiri dari 2 kata, yaitu basis & data. Basis dapat diartikan sebagai markas / gudang, tempat berkumpul. Sedangkan data adalah fakta yang mewakili suatu objek seperti manusia, barang, hewan peristiwa, keadaan dan sebagainya, yang direkam dalam bentuk angka, huruf simbol, teks gambar, bunyi atau kombinasinya.
Basis data sendiri dapat di definisikan dalam sejumlah sudut pandang seperti :
1. himpunan kelompok data / arsip yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat & mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan/ penumpukan (redundansi), untuk memenuhi berbagai kebutuhan.
3. Kumpulan file/ tabel /arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.






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 pengambilan kembali data/ arsip. Perbedaannya hanya terletak pada media penyimpanan yang digunakan . jika lemari arsip menggunakan lemari sebagai media penyimpanannya, maka basisdata mnenggunakan media penyimpanan elektronis seperti disk (disket, harddisk).
Yang perlu diingat adalah bahwa tidak semua bentuk penyimpanan data secara elektronis bisa disebut basis data. Yang sangat ditonjolkan dalam basisdata adalah pengaturan/pemilaha/pengelompokkan/pengorganisasian data yang akan kita simpan sesuai fungsi/jenisnya. Pemilahan/ pengelompokan ini dapat berbentuk sejumlah file/ tabel terpisah atau dalam bentuk pendefinisian kolom-kolom/field-field data dalam setiap file/tabel.

Tujuan dibangunnya basis data adalah sebagai berikut :
§        Kecepatan & kemudahan (speed)
Dgn memanfaatkan basis data, memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data tersebut secara lebih cepat & mudah.
§        Efisiensi ruang penyimpanan (space)
Karena keterkaitan yang erat antara kelompok data dalam sebuah basisdata,maka redundansi (pengulangan) pasti akan selalu ada, sehingga akan memperbesar ruang penyimpanan. Dengan basisdata, efisiensi ruang penyimpanan dapat dilakukan dengan menerapkan sejumlah pengkodean, atau dengan membuat relasi-relasi antar kelompok data yang saling berhubungan.
§        Keakuratan (accuracy)
Pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint), dmain data, keunikan data, dsb, yang secara ketat dapat diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidak akuratan penyimpanan data.
§        Ketersediaan (availability)
Dengan pemanfaatan jaringan komputer, maka data yang berada di suatu lokasi/cabang dapat juga diakses (tersedia/available) bagi lokasi/cabang lain.
§        Kelengkapan (completeness)
Kelengkapan data yang disimpan dalam sebuah database bersifat relatif, bisa jadi saat ini dianggap sudah lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Untuk mengakomodasi kelengkapan data, seperti
§        Keamanan (security)
aspek keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat menentukan pemakai basis data serta obyek-obyek didalamnya ,serta jenis-jenis operasi apa saja yang boleh dilakukannya.
§        Kebersamaan pemakaian (sharability)
Basis data yang dikelola dengan aplikasi multi user dapat memenuhi kebutuhan ini.

Alasan mengapa mempelajari basisdata :
-       perpindahan dari komputasi ke informasi
-       himpunan elemen data semakin banyak dan beragam
o    perpustakaan digital. Video interaktif
o    kebutuhan untuk memperluas DBMS
-       DBMS mencakup bidang ilmu lain
o    System operasi, bahasa pemrograman, teori komputasi, AI, logika, multimedia.

Operasi dasar pembuatan Basis data :
n  Pembuatan Basis Data (Create Database)
Yang identik dengan pembuatan lemari arsip yang baru.
n  Penghapusan Basis Data (Drop Database)
Yang identik dengan perusakan lemari arsip (sekaligus beserta isinya, jika ada)
n  Pembuatan File/Table baru ke suatu basis data (Create Table)
Yang identik dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada.

n  Penghapusan File/Table dari suatu basis data (Drop Table)
Yang identik dengan perusakan map arsip lama yang ada di sebuah lemari arsip.
n  Penambahan data baru ke suatu file/table di sebuah basis data (insert)
Identik dengan penambahan lembaran arsip baru kesebuah map arsip.
n  Pengambilan data dari sebuah file/table (Retrieve/Search)
Identik dengan pencarian lembaran arsip dari sebuah map arsip.
n  Pengubahan data dari sebuah file/table (Update)
Identik dengan perbaikan isi lembaran arsip yang ada di sebuah map arsip.
n  Penghapusan data dari sebuah file/table (Delete)
Identik dengan penghapusan sebuah lembaran arsip yang ada di sebuah map arsip.


Jumat, 12 Desember 2014

NORMALISASI

Mungkin sudah banyak yang tidak asing dengan normalisasi. Namun, masih banyak yang belum memahami betul apa itu normalisasi. Untuk itu, saya mencoba untuk membahas tentang normalisasi kembali.



Normalisasi
Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:
a.     Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang.
b.      Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.

Dekomposisi tabel dapat mengurangi redudansi yang ada dan menghilangkan anomali.
Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagai berikut :

a. Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.
b. Meminimalkan resiko inkonsistensi data pada basis data.
c. Meminimalkan kemungkinan anomaly pembaruan.
d. Memaksimalkan stabilitas struktur data.

Bentuk Normal

Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :

a. Bentuk normal pertama (1NF)
b. Bentuk normal kedua (2NF)
c. Bentuk normal ketiga (3NF)
d. Bentuk normal Boyce-Codd (BCNF)
e. Bentuk normal keempat (4NF)
f. Bentuk normal kelima (5NF)

Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF (Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977), kemudian Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979).

Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua untuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk menghilangkan kebergantungan transitif. Bentuk normal Boyce-Codd untuk menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk normal keempat untuk menghilangkan kebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa.

Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai (multi-valued dependencies).

Bentuk Normal Pertama

Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit).
Syarat :
o    Tidak ada set atribut yang berulang atau bernilai ganda.
o    Telah ditentukannya primary key untuk tabel atau relasi.
o    Tiap atribut hanya memiliki satu pengertian.
o    Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.

Bentuk Normal Kedua
Syarat :      
o    Bentuk data telah memenuhi kriteria bentuk normal ke satu.
o    Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key
Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima.

Bentuk Normal Ketiga
Syarat :      
o    Bentuk data telah memenuhi kriteria bentuk normal ke dua.
o    Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd.

Bentuk Normal Boyce-Codd (BCNF)

BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan.

Bentuk Normal Keempat

Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing – masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.

Bentuk Normal Kelima

Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara praktis.

Senin, 10 November 2014

STUDI KASUS ERD

Kali ini saya akan berbagi info mengenai perancangan basis data. Pembahasan kali ini 
adalah Entity Relationship Diagram (ERD). Untuk lebih jelasnya mari kita bahas 
dengan membahas studi kasus berikut ini. Semoga bermanfaaat. :)

KASUS
Pada sebuah organisasi kemanusiaan terdapat sistem keanggotaan, dapat dijabarkan  
sebagai berikut :
·   Mahasiswa dapat menjadi anggota organisasi kemanusiaan tersebut. Namun, tidak semua mahasiswa menjadi anggota organisasi kemahasiwaan.
·   Setiap angggota organisasi kemahasiswaan ditugaskan pada satu departemen dalam organisasi dan dapat diperbantukan pada departemen lain. Pada setiap departemen dapat beranggotakan lebih dari satu mahasiswa.
·    Bila ada kegiatan kemahasiswaan yang akan diselenggarakan, maka disusun suatu kepanitiaan terdiri lebih dari satu anggota organisasi.

PENYELESAIAN
Dari soal tersebut kami menetukan entitas pada sistem tersebut, yaitu mahasiswa, 
organisasi, anggota, departemen, departemen lain, kegiatan.

1. Menentukan Entitas
     Entitas pada sistem adalah :
a)      Mahasiswa
b)     Organisasi
c)     Anggota Organisasi Kemahasiswaan
d)     Departemen
e)     Departemen Lain dan
f)      Kegiatan.
           
2. Menghubungkan entitas yang mempunyai relasi :





3. Menentukan Kardinalitas
Dari deskripsi permasalahan, kita tahu bahwa:
a)      Tidak semua mahasiswa menjadi anggota organisasi kemahasiswaan.
b)      Setiap anggota organisasi kemahasiswaan ditugaskan pada satu departemen     
         dalam organisasi.
c)      Anggota Organisasi dapat diperbantukan pada departemen lain.
d)     Pada setiap departemen dapat beranggotakan lebih dari satu mahasiswa.
e)      Anggota kepanitiaan Kegiatan terdiri lebih dari satu anggota organisasi.




4. Menambahkan Atribut pada ERD