Jumat, 23 Maret 2012

Normalisasi Basis Data

Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).

Urutan atau macam teknik normalisasi terdiri atas :

Normalisasi Pertama
Aturan :
Mendefinisikan atribut kunci
Tidak adanya group berulang
Semua atribut bukan kunci tergantung pada atribut kunci

Normalisasi Kedua

Aturan :
Sudah memenuhi dalam bentuk normal kesatu
Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.

Normalisasi Ketiga

Aturan :

Sudah berada dalam bentuk normal kedu.
Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).

Bentuk Normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Keseluruhannya cuma ada lima bentuk normal. Tiga bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus Multi Valued Dependencies.

Contoh Kasus Normalisasi



Contoh Teknik Normalisasi

Permasalah tau basis data yang salah :

table nilai


Normalisasi Pertama

Pada normalisasi pertama yang harus dilakukan adalah menghilangkan duplikasi dan menentukan primary key untuk setiap field pada table, supaya setiap data atau field field lainya tergantung hanya pada satu field yang dijadikan primary key .
Dalam kasus ini yang dijadikan sebagai primary key adalah field nim dan idpelajaran.



Normalisasi Kedua

Pada normalisasi kedua yang harus dilakukan adalah memisahkan field-field yang tergantung pada satu field dengan tepat.

table nilai


table siswa


table pelajaran


Normalisasi Ketiga

Hal yang harus dilakukan pada normalisasi yang ketiga adalah menyempurnakan normalisasi yang kedua, apakah masih ada keganjilan atau redudansi yang tidak seharusnya pada setiap table. Pada normalisasi kedua table siswa dan table pelajaran masih redudansi, sehingga pada normalisasi ketiga struktur data adalah sebagai berikut :

table nilai



table siswa


table pelajaran

Senin, 12 Maret 2012

Spesialisai dan Generalisasi Basis Data

Spesialisasi adalah proses memaksimasi perbedaan antar anggota dalam sebuah entitas dengan mengidentifikasi berbagai karakteristik yang berbeda. Spesialisasi merupakan pendekatan top-down yang bertujuan untuk mendefinisikan sejumlah subclass-subclass yang terkait dengan superclass.

Generalisasi adalah proses meminimasi perbedaan antar entitas dengan mengidentifikasi berbagai karakteristik yang sama. Generalisasi adalah pendekatan bottom-up yang tujuannya adalah mengidentifikasi superclass dari subclass-subclass yang ada.

Kardinalitas Relasi ERD

Kardinalitas pemetaan atau rasio kardinalitas menunjukkan jumlah entitas yang dapat dihubungkan ke satu entity lain dengan suatu relasi.

Kardinalitas pemetaan meliputi :

Hubungan satu ke satu (one to one), yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B.
Contoh : mahasiswa dengan kelas, satu mahasiswa hanya boleh mempunyai satu kelas.

Hubungan satu ke banyak (one to many)
Yaitu satu entity dalam A dihubungkan dengan sejumlah entity dalam B. Satu entity dalam B dihubungkan dengan maksimum satu entity dalam A.
Contoh : orang tua dengan anak, satu orang tua boleh memiliki banyak anak.

Hubungan banyak ke satu (many to one)
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B. Satu entity dalam B dapat dihubungkan dengan sejumlah entity dalam A.
Contoh : anak dengan orang tua, sejumlah anak hanya bisa dimiliki satu orang tua.

Hubungan banyak ke banyak (many to many).
Satu entity dalam A dihubungkan dengan sejumlah entity dalam B, dan satu entity dalam B dihubungkan dengan sejumlah entity dalam A.
Contoh : matakuliah dengan mahasiswa, banyak mata kuliah dapat dimiliki banyak mahasiswa.

ERD

ERD (Entity Relationalship Diagram) adalah sebuah konsep yang mendeskripsikan hubungan antara penyimpanan dan didasarkan pada persepsi dari sebuah dunia nyata yang terdiri dari sekumpulan objek, disebut entiti & relasi diantar objek-objek tersebut.

Diagram ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses yang dilakukan. Diagram ER pertama kali dideskripsikan oleh Peter Chen yang dibuat sebagai bagian dari perangkat lunak.

Tiga notasi dasar dalam ER-D adalah :

Entitas (entity), merupakan obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan antara satu dengan lainnya (unique).

Attribute, karakteristik dari entity atau relationship yang menyediakan detail tentang entity atau relationship tersebut sehingga dapat dibedakan.

Notasi, merupakan hubungan antara entity satu dengan entity yang lainnya.

Garis, sebagai penghubung antara relasi dengan entity, atau relasi dan entity dengan atrribute.

Fungsi Diagram E-R :
merekayasa sebuah objek nyata kedalam sebuah entity
memodelkan struktur data dan hubungan antar data
dengan ERD, model dapat diuji dengan mengabaikan proses yang dilakukan

Macam-macam Attribute ERD

Macam-macam attribute ERD :

Simple Attribute dan Composite Attribute
Atribut sederhana/ Simple Attribute adalah atribut yang tidak dapat dibagi-bagi menjadi atribut yang lebih mendasar.
Contoh : atribut harga dari entity barang.

Atribut komposit/ Composite Attribute : atribut yang terdiri dari beberapa atribut yang lebih mendasar.
Contoh : Entity mahasiswa memiliki atribut nama yang terdiri dari nama depan (first name), nama tengah (middle name) dan nama belakang (last name).

Single Valued Attribute dan Multi Valued Attribute
Atribut Berharga Tunggal (Single-valued Attribute) : atribut yang hanya mempunyai satu harga untuk suatu entitas tertentu.
Contoh : atribut umur.

Atribut Berharga Banyak (Multi-valued Attribute) : atribut yang dapat terdiri dari sekumpulan harga untuk suatu entitas tertentu.
Contoh : atribut hobi.

Derived Attribute (Attribut Turunan)
Atribut Derivatif : suatu atribut yang dihasilkan dari atribut lain.
Contoh : atribut umur yang dapat dihasilkan dari atribut tgl_lahir.

Key Attribute (Atribut Kunci)
Satu atau beberapa atribut yang mempunyai nilai unik sehingga dapat digunakan untuk membedakan data pada suatu baris/record dengan baris lain pada suatu entitas.

Macam key attribute:
Superkey
Candidat Key
Primary key

Sabtu, 03 Maret 2012

Perancangan Basis Data secara Fisik

Perancangan basis data secara fisik merupakan proses pemilihan struktur-struktur penyimpanan dan jalur-jalur akses pada file-file basis data untuk mencapai penampilan yang terbaik pada bermacam-macam aplikasi. Selama fase ini, dirancang spesifikasi-spesifikasi untuk basis data yang disimpan yang berhubungan dengan struktur-struktur penyimpanan fisik, penempatan record dan jalur akses. Berhubungan dengan internal schema (pada istilah 3 level arsitektur DBMS).

Pemilihan perancangan basis data secara fisik meliputi :

Response time
Ialah waktu akses basis data untuk data item yang ditunjuk oleh suatu transaksi. Response time juga dipengaruhi oleh beberapa faktor yang tidak berada di bawah pengawasan DBMS, seperti penjadwalan sistem operasi atau penundaan komunikasi.

Space utility
Ialah jumlah ruang penyimpanan yang digunakan oleh file-file basis data dan struktur jalur akses.

Transaction throughput
Ialah rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem basis data dan merupakan parameter kritis dari sistem transaksi (misal : digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentuan awal dari struktur penyimpanan dan jalur akses untuk file-file basis data.

Pengumpulan Data dan Analisa Basis Data

Pengumpulan data dan analisa merupakan proses identifikasi dan analisa kebutuhan-kebutuhan data. Untuk menentukan kebutuhan-kebutuhan suatu sistem basis data, pertama harus mengenal bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem basis data, termasuk para pemakai yang ada dan para pemakai yang baru, serta aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para pemakai dan aplikasi inilah yang kemudian dikumpulkan dan dianalisa.

Aktifitas dan langkah dala proses pengumpulan data dan analisa adalah sebagi berikut :

Menentukan kelompok pemakai dan bidang-bidang aplikasinya
Menentukan aplikasi utama dan kelompok pengguna yang akan menggunakan basis data. Individu utama pada tiap-tiap kelompok pemakai dan bidang aplikasi yang telah dipilih merupakan peserta utama pada langkah-langkah berikutnya dari pengumpulan dan spesifikasi data.

Peninjauan dokumentasi yang ada
Dokumen yang ada yang berhubungan dengan aplikasi-aplikasi dipelajari dan dianalisa. Dokumen-dokumen lainnya (seperti : kebijakan-kebijakan, form, report, dan bagan organisasi) diuji dan ditinjau kembali untuk menguji apakah dokumen-dokumen tsb berpengaruh terhadap kumpulan data dan proses spesifikasi.

Analisa lingkungan operasi dan pemrosesan data
Informasi yang sekarang dan yang akan datang diperinci dan dipelajari. Termasuk juga analisa jenis-jenis transaksi dan frekuensi-frekuensi transaksinya dan juga arus informasi dalam sistem. Informasi tersebut berupa input-output data.

Daftar pertanyaan dan wawancara
Jawaban pertanyaan – pertanyaan yang telah dikumpulkan dari para pemakai basis data yang berpotensi. Ketua kelompok (individu utama) dapat diwawancarai sehingga input yang banyak dapat diterima dari mereka dengan memperhatikan informasi yang berharga dan mengadakan prioritas.

Perancangan Basis Data

Di dalam suatu organisasi yang besar, perancangan basis data (database) merupakan bagian penting pada sistem informasi, karena di perlukan untuk mengelola sumber informasi pada organisasi tersebut. Untuk mengelola sumber informasi tersebut yang pertama kali di lakukan adalah merancang suatu sistem database agar informasi yang ada pada organisasi tersebut dapat digunakan secara maksimal.

Tujuan perancangan database :

- Untuk memenuhi kebutuhan akan informasi dari pengguna dan aplikasi
- Menyediakan struktur informasi yang natural dan mudah dimengerti oleh pengguna
- Mendukung kebutuhan pemrosesan dan beberapa objek kinerja dari suatu sistem basis data

Dalam sebuah perancangan basis data dikenal dua buah istilah yaitu macro life cycle dan micro life cyle. Macro life cycle adalah siklus kehidupan sebuah sistem informasi, sedangkan micro life cycle adalah siklus kehidupan dari sebuah sistem basis data, dimana micro life cycle merupakan bagian dari sebuah macro life cycle, dan keduanya tidak bisa dipisahkan.

Perbedaan keduanya secara umum dapat dilihat dari definisinya yaitu untuk micro life cycle berhubungan dengan bagaimana sebuah sistem informasi dibuat, sedangkan micro life cycle adalah kelanjutan dari sebuah macro life cycle yakni perancangan database dari sebuah sistem informasi yang telah dibuat.

Perbedaan secara khusus terlihat dari siklus keduanya dimana untuk macro life cyle terdiri atas Analisa kelayakan, Analisa dan pengumpulan kebutuhan pengguna, Perancangan, Implementasi, Pengujian dan validasi, dan Pengoperasian dan perawatan.

Sedangkan pada micro life cycle siklusnya terdiri atas Pendefinisian sistem, Perancangan database, Implementasi database, Pengambilan dan konversi data, Konversi aplikasi, Pengujian dan validasi, Pengoperasian, dan Pengawasan dan pemeliharaan.

Data Definition Language

Data Definition Language(DDL) digunakan untuk mendefinisikan, mengubah, dan menghapus basis data (database) dan objek-objek yang diperlukan. Lebih jelasnya, DDL merupakan perintah yang berhubungan dengan struktur database dan struktur tabel yang ada didalamnya.
Secara umum perintah DDL terdiri dari CREATE untuk membuat sebuah objek, USE untuk menggunakan objek, ALTER untuk mengubah objek, dan DROP untuk menghapus objek.

Untuk lebih jelas mengenai perintah DDL, berikut contoh penggunaan perintah-perintah DDL :

Menampilkan database
Perintah untuk menampilkan database adalah SHOW databases.


Membuat database baru
Perintah untuk membuat database baru adalah CREATE. Dalam contoh ini kita akan membuat sebuah database dengan nama siswa.


Menghapus database
Perintah untuk menghapus database adalah DROP.


Memilih dan membuka sebuah database
Perintah untuk memilih dan membuka sebuah database adalah USE.


Melihat isi sebuah database
Perintah untuk melihat isi sebuah database adalah SHOW tables.


Empty set menandakan bahwa dalam database siswa belum ada satupun tabel yg dibuat, maka dari itu kita harus membuat sebuah tabel terlebih dahulu.

Membuat tabel
Perintah untuk membuat sebuah tabel adalah CREATE.


Ini merupakan perintah pembuatan tabel dengan nama tbl_siswa, dengan jumlah field 3 yaitu :

id dengan tipe data INT yang berarti integer, kemudian UNSIGNED yang menyatakan tidak memperbolehkan tanda negatif, dan penggunaan AUTO_INCREMENT yaitu akan bertambah nilai secara otomatis, serta merupakan sebuah kolom utama dengan adanya penggunanaan PRIMARY KEY.

nis dengan tipe data VARCHAR dan jumlah panjang (lenght) 20 serta tidak boleh dokosongkan (NOT NULL).

nama dengan tipe data VARCHAR dan jumlah panjang (lenght) 50 serta tidak boleh dikosongkan (NOT NULL).

...

Untuk mempelajari perintah DDL yang lebih lengkap silahkan download e-book disini.