Normalisasi Database

10/07/2015

Tujuan Menganalisa Sistem

  • Menentukan kebutuhan dari dari database
  • Pengelompokan dan pendeskripsian informasi pada suatu objek
  • Mengidentifikasi dan pengelompokan hubungan antar objek
  • Menentukan jenis transaksi yang akan diekseskusi dalam database
  • Mengidentifikasi aturan-aturan yang berhubungan pada integritas database

Normalisasi

Normalisasi adalah proses mendesainstruktur Database dan teknik analisis data yang mengorganisasikan atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, serta fleksibel sehingga menghasilkan sebuah tabel yang normal.
Normalisasi difungsikan untuk memastikan bahwa database yang dibuat berkualitas sangat baik. Tahap normalisasi dimulai dari tahap paling awal (1NF) hingga yang paling ketat (5NF), biasanya hanya sampai pada tingkat 3NF (bentuk normal ketiga), karena sudah cukup memadai untuk menghasilkan tabel-tabel berkualitas baik.
Merancang Diagram Alir Data (DAD) dengan program EasyCase terdiri dari :
  • Diagram Context (DAD konteks sistem), terkadang ada yang menyebut diagram konteks sebagai diagram level 0 sampai diagram level yang terbaik (level 0, 1, 2, 3, dst)
  • Dapat digambarkan dengan program case tool
  • Disertai kamus aliran data yang mendiskripsikan data yang mengalir dalam aliran data

Tujuan dari Normalisasi

  • Menghilangkan kerangkapan pada data
  • Mengurangi kompleksitas
  • Mengurangi pemodifikasian data
  • Menghilangkan anomali database

Tahapan dalam Normalisasi

Bentuk tidak Normal, bentuk ini kumpulan data yang akan direkam, tidak ada keharusan mengikuti firmat tertentu, bisa saja data tidak lengkap atau terduplikasi.
Bentuk Normal Pertama (1NF), cirinya adalah setiap data dibentuk dalam flat file dan tidak ada set atribut yang berulang. Membentuk sebuah tabel menjadi Un-Normalized, dengan mencantumkan data yang ada pada semua field, membentuk normal pertama (1 Normal First) dengan flat tabel yang memisahkan data pada field yag tepat bernilai atomik, dan yang melengkapi atribut / field yang ada.

Syarat normal ke satu (1NF) antara lain
  • Pada setiap data dibentuk dalam sebau flat file, dan dibentuk dalam satu demi satu record, nilai dari field itu berupa “atomic value”
  • tidak ada set atribute yang berulang
  • ditentukan primary key untuk tabel / relasi
  • tiap atribut hanya memiliki satu pengertian
Bentuk normal kedua (2NF), didasari atas konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan.




Syarat normal kedua (2NF) sebagai berikut
  • Bentuk data ini telah dapat memenuhi keriteria bentuk normal pertama
  • Atribut bukan Premary Key harus memiliki ketergantungan full functional dependency pada primary key
Bentuk normal ketiga (3NF), walaupun relasi 2NF memiliki redudandi yang lebih sedikit dari relasi 1NF, namun relasi tersebut masih mendapat kemungkinan mengalami kendala bila terjadi anomali peremajaan (update) terhadap relasi tersebut.




Syarat normal ketiga (3NF) sebagai berikut
  • Bentuk data ini telah dapat memenuhi keriteria bentuk normal yang kedua
  • Atribut bukan primary key harus tidak memiliki ketergantungan pada transitif, artinya suatu atribut bukan primary key itu tidak bileh memiliki ketergantungan fungsi pada atribut yang bukan primary key lain, seluruh atribut bukan primary key pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key yang direlasikan saja
Bentuk normal ke empat (4NF), memiliki syarat
  • Bila dan hanya telah berada dalam bentuk BCNF dan tidak ada multivalued dependency nontrival
  • Multivalued dependency (MVD) dipakai dalam bentuk normal ke empat (4NF)
  • Dependensi ini dipakai untuk menyatakan hubungan satu kebanyak (one to many)
Bentuk normal kelima (5NF), dependency gabungan mendasari bentuk pada normal ke lima. Satu relasi R (X,W,Z) dapat memenuhi dependency gabungan dan jika gabungan dari proyeksi A, B, C dengan A, B, C merupakan sub himpunan dari atribut R. dependensi gabungan di atas sesuai dengan notasi berikut :
  • (A, B, C)
  • dengan A = XY, B = YZ, C = ZX
Read more ...

DATABASE

10/07/2015
Basis data atau Database itu apa? Kalau dari Wikipedia: “A dabase is an organized collection of data”. Terjemahan bebasnya, Database adalah kumpulan data yang terorganisir. Jadi tidak peduli apakah data ini tersimpan dalam bentuk kertas atau file komputer, selama data ini tersusun dalam aturan dan untuk keperluan tertentu, dapat disebut sebagai database. Namun umumnya jika menyebut database, hal ini merujuk kepada kumpulan data yang disimpan secara elektronik dalam komputer.
Database sebelum menggunakan sistem elektronik atau komputer sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi, dan kumpulan data yang berhubungan dengan bisnis. Sedangkan sekarang kumpulan data informasi yang disimpan di dalam kkomputer secara sistematik sehingga dapat diperiksa menggunakan suatu perogram komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) database disebut sistem manajemen basis data (database management system, DBMS).

Lingkungan Database

Lingkungan database adalah sebuah habitat di mana terdapat database untuk bisnis. Di dalamnya pengguna memiliki alat untuk mengakses data. Pengguna melakukan semua tipe pekerjaan dan keperluan mereka bervariasi seperti menggali data (data mining), memodifikasi data, atau berusaha membuat data baru. Masih dalam lingkungan database, pengguna tertentu tidak diperbolehkan mengakses data, baik secara fisik maupun logis.

Tahapan Perancangan Database

Perancangan database merupakan cara untuk membangun sebuah database, terdapat tahapan yang perlu dilalui yaitu :
  1. Perencanaan database
  2. Mendefinisikan sistem
  3. Analisa dan mengumpulkan kebutuhan
  4. Perancangan database
  5. Perancangan aplikasi
  6. Membuat prototipe
  7. Implementasi
  8. Konversi data
  9. Pengujian
  10. Pemeliharaan operasional

Bahasa pada Database

Ada dua jenis bahasa komputer yang digunakan saat membangun dan memanipulasi database, yaitu:
  1. Data Definition Language (DDL)
  2. Data Manipulation Language (DML)

Perangkat Lunak Database

Perangkat lunak database yang digunakan dalam pemrograman dan merupakan perangkat database high level adalah :
  • Microsoft SQL Server
  • Oracle
  • Sybase
  • Interbase
  • Xbase
  • Firebird
  • MySQL
  • PostgreSQL
  • Microsoft Access
  • dBase III
  • Paradox
  • FoxPro
  • Visual FoxPro
  • Arago
  • Force
  • Recital
  • dbFast
  • dbXL
  • Quicksilver
  • Clipper
  • FlagShip
  • harbour
  • Visual dBase
  • Lotus Smart Suite Approach
  • db2
  • MongoDB
  • MariaDB
Selain perangkat lunak di atas, terdapat juga perangkat lunak pemrograman database low level :
  • Btrieve
  • Tsunami Record Manager

Pengertian Database Model

dikutip dari Wikipedia lagi : “A database model is the theoretical foundation of a database and fundamentally determines in which manner data can be stored, organized, and manipulated in a database system”. Terjemahan bebasnya, database model adalah teori seputar bagaimana data itu akan disimpan, disusun, dan dimanipulasi dalam sebuah sistem database.
Sekitar tahun 1960an di Amerika konsep database mulai banyak digunakan, berbagai teori dikemukakan tentang bagaimana cara menyajikan data agar mudah digunakan, mencakup : membuat, membaca, memperbaharui, dan menghapus data, atau istilahnya CRUD (Create, Read, Update, and Delete).
Mulailah berkembang berbagai database model, dari Flat model, Hierarchical model, Network model, hingga Relational model. Flat model adalah istilah lain dari tabel sederhana seperti di microsoft excel, tanpa aturan dan cara penulisan tertentu. Dalam Hierarchical model, data disusun seperti pohon terbalik, sehingga data terorganisasi dari atas ke bawah. Model database ini digunakan pada sistem database awal, seperti Information Management System (IMS) oleh IBM (1966). Network database model merupakan pengembangan dari Hierarchical model.
database-models
Database Model : Relational
Konsep Relational Database Model diajukan pertama kali oleh peneliti IBM, Dr. Edgar F. Codd pada tahun 1969, dan merupakan database model yang paling banyak digunakan saat ini.
Dr. Codd pada awalnya mencari cara baru untuk menangani data dalam jumlah besar. Namun karena keterbatasan pada Hierarchical dan Network model yang umum digunakan saat itu, ia menerapkan perinsip matematis dalam menyusun data-data tersebut. Dan karena memang memiliki keahlian di bidang matematika, Dr.Codd berusaha mencari cara untuk menyelesaikan permasalahan yang sering timbul dalam database model saat itu, seperti redudansi data, hubungan antar data, dan ketergantungan kepada urutan di media penyimpanan.
Sebuah relational database menyimpan data dalam 'relasi', atau yang disebut tabel. Setiap tabel terdiri dari tuple atau record dan attribut atau field. Urutan penyusunan dalam media penyimpanan fisik tidak berpengaruh dalam model ini, dan setiap record di dalam tabel diidentifikasikan dengan sebuah field unik.
Relational Database Model ini yang paling populer dan banyak diimplementasi dalam berbagai aplikasi database saat ini, termasuk Oracle dan MySQL. Aplikasi database untuk relational model, dikenal juga dengan Relational Database Management System (RDBMS).
Referensi :
Read more ...