AdSense

Normalisasi Basis Data Bentuk Normal Pertama (1NF)

Normalisasi Basis Data Bentuk Normal Pertama (1NF)

Salah satu komponen sistem informasi adalah basis data atau pangkalan data (Database). Basis Data  merupakan tempat tampungan kumpulan data yang dirancang analis desain basis data. Analis merancangan dengan beberapa pendekatan perancangan basis data, salah satunya dengan teknik Normalisasi Basis Data. Normlisasi Basis Data adalah tindakan untuk menjadikan atau mengembalikan relasi kedalam bentuk normal (tidak melanggar) dengan menerapkan sejumlah aturan. 

Menurut Edgar F. Codd sekaligus pencetus Normalisasi Basis Data Relasional, normalisasi harus melalui beberapa ketentuan tahapan beurutan 1NF, 2NF, 3NF dan BCNF. Artikel ini akan membahas perancangan basis data melalui pendekatan normalisasi pangkalan data Bentuk Normal Pertama (1NF).

Relasi menurut ilmu matematika merupakan himpunan atau hubungan data maupun nilai, sedangkan didalam basis data himpunan atau hubungan data ini disebut dengan table/tabel data. Artikel ini, relasi maupun tabel adalah istilah yang sama.

Normalisasi Basis Data Bentuk Normal Pertama (1st Normal Form/1NF)

Normalisasi pangkalan data merupakan cara lain untuk merancang basis data yang bertujuan memastikan dependensi data pada sistem basis data, normalisasi memiliki aturan-aturan tahapan wajib di lalu satu persatu agar basis data dapat dikatakan baik dan efisien. 1NF merupakan singkatan dari 1st (first) Normal Form bahasa indonesia dikenal dengan Bentuk Normal Pertama. 

Normalisasi Bentuk Normal Pertama (1NF) merupakan proses dekomposisi atau penguraian data berdasarkan sampel star table/universal. star table atau universal merupakan tabel atau relasi berisikan kumpulan item data yang masih memiliki indikasi relasi redudansi dan atribut bernilai ganda (Multivalued Attribute) ataupun tidak, memiliki indikasi tersebut merupakan kelemahan fatal dalam sebuah sistem basis data. Star tabel/universal dapat berupa output record dari sebuah sistem informasi, baik itu berupa nota, kwitansi, invoice yang  dapat digunakan untuk megontruksi ulang ralasi menjadi basis data relasional yang baik.

Edgard F. Codd mendefinisikan normalisasi bentuk pertama (1NF) di dalam konferensi makalahnya berjudul "A Relational Model of Data for Large Shared Data Banks" atau Sebuah Model Data Relasional untuk Bank Data Besar Bersama pada tahun 1971. Di Dalam makalah itu bertuliskan kalimat "defined a relation to be in first normal form when none of its domains have any sets as elements", kurang lebih definisi normalisasi bentuk normal pertama (1NF) adalah ditetapkan sebuah tabel berbentuk normal pertama ketika tidak ada relasi (relasi) yang domainnya memiliki himpunan sebagai elem. Domain diatas dimaksudkan himpunan nilai, nama, tipe data dan ukuran yang diberikan pada suatu atribut dalam tabel, sedangkan elemen disini dimaksudkan nilai data yang dapat dipisah atau dapat dijadikan sub atribut.

Ketentuan Normalisasi Database Bentuk Pertama (1NF)

Sebuah relasi dalam pangkalan data dikatakan memenuhi bentuk normal pertama, jika relasi tersebut telah memenuhi kriteria-kriteria Normalisasi Bentuk Pertama (1NF) sebagai berikut:
  • Mendefinisikan atribut kunci (key attribute), dimana ketentuan Normalisasi bentuk pertama (1NF) harus mengidentifikasikan atribut-atribut ke dalam kata kunci. Atribut kunci adalah satu atau kumpulan atribut yang membedakan baris data record satu dengan baris data record lainnya agar menjadikan baris data record tersebut menjadi unik (unique) pada sebuah tabel. Terutama megiden tifikasikan atribut kunci primer (primary key).
  • Tidak adanya atribut bernilai banyak (multivalued attribute). Artinya bentuk normal 1nf adalah dimana setiap relasi tidak memiliki nilai atribut dengan jenis yang sama, contoh multivalued attribute adalah ketika hobi dijadikan sebagai atribut, seorang mahasiswa memiliki banyak nilai/jenis hobi (hobi berenang, tenggelam, mancing dan bulutangkis per seorang mahasiswa). 
  • Setiap atribut dalam tabel tersebut harus bernilai atomic. Dimana Ketentuan normalisasi bentuk normal pertama (1NF) atribut tersebut tidak boleh atribut komposit (composite attribute) harus bernilai terkecil tunggal dan bukan atribut yang dapat dipilah menjadi subatribut (tidak memiliki kemungkinan sub-sub atribut). Contoh atribut kompisit adalh terdapat artribut alamat didalam sebuah tabel, atribut alamat dalam amatan normalisasi bentuk tahap pertama (1NF), dimungkan kan untuk didekomposisi (diuraikan)menjadi beberapa subatribut. subatribut dari alamat adalah kode pos, desa, kecamatan, kabupaten, provinsi, dan negara.

Contoh sederhana normalisasi database bentuk normal pertama (1NF)

Untuk memudahkan dalam pemahaman tentang normalisasi database 1NF (1st Normal form), mari perhatikan contoh normalisasi database Bentuk pertama sederhana dibawah.

star-tabel-universal-data-mata-kuliah-per-mahasiswa
Star Tabel (Universal) Data Mata Kuliah Per Mahasiswa

Gambar diatas merupakan jika diibaratkan, tabel berisikan kumpulan data mahasiswa dan matakuliah dalam satu relasi. Relasi diatas merupakan sampel yang didapatkan untuk dianalisis berdasarkan pendekatan normalisasi basis data bentuk pertama (1NF). Tahapan pembuka dapat dilakukan dengan menggunakan teknik normalisasi bentuk tahap nol (0th Normal Form/0NF) atau tabel belum normal (unnormalized) untuk memudahkan analisa tahap Pertama (1NF). Perhatikan gambar dibawah ini.

Tabel Belum Normal (Unnormalized) 0NF
Tabel Belum Normal (Unnormalized) 0NF
Berdasarkan tabel universal yang didapatkan, kita dapat menguraikan satu persatu kolom menjadi atribut-atribut tabel basis data. Dimana Didalam gambar tersebut kita dapat mendefinisikan atribut tabel seperti nim sebagai NIM, nama sebagai NAMA, kode_matkul sebagai KODE MATA KULIAH, matkul sebagai MATA KULIAH, waktu1 sebagai WAKTU, dan waktu2 sebagai WAKTU. Perhatikan gambar dibawah. Gambar diatas masih contoh normalisasi database matakuliah per mahasiswa belum normal. Sebelum berlanjut pahami dulu Ketergantungan Fungsional (Functional Dependency).

Ketergantungan Fungsional (Functional Dependency)

Untuk memudahkan dalam pendekomposisian tabel diatas, kita dapat menggunakan teknik dekomposisi Ketergantungan Fungsional (Functional Dependency). Dimana jika diberikan tabel dengan A berisikan 2 atribut dengan nama B dan C, yang berarti secara fungsional B menentukan C atau C tergantung pada B (B → C), jika dan hanya jika ada 2 baris data (row) dengan nilai B yang sama, maka nilai C juga sama (B => C). Cara menentukan Ketergantungan Fungsional (Functional Dependency) dari gambar tabel mata kuliah per mahasiswa di atas adalah dengan mencari atribut dengan nilai unik (tidak sama). Atribut unik ini juga merupakan atribut kandidat key (Candidate-Key) atau bakal calon primary key.

Berdasarkan gambar belum normal (unnormalized) diatas, ditemukan dua buah atribut bersifat unik nim dan kode-matkul.
  • nim  merupakan Ketergantungan Fungsional nama.
  • kode_matkul → merupakan Ketergantungan Fungsional matkul, waktu1, dan waktu2
Kembali Lagi dalam ketentuan bentuk Normal pertama (1NF). Setelah Ketergantungan Fungsional (Functional Dependency) telah diidentifikasikan, tercipta tabel mahasiswa yang terdiri dari atribut nim dan nama dan tabel mata_kuliah  dengan atribut kode_mtkul, matkul, waktu1 dan waktu2. Selanjutnya mendekomposisikan tabel belum normal tersebut seperti gambar dibawah.

dekomposisi-dari-tabel-belum-unnormalized-0NF
Dekomposisi dari Tabel Belum Unnormalized (0NF) Pertama
Ternyata Gambar diatas belum memenuhi bentuk normal pertama (1NF), karena didalamnya terdapat ambiguity perulangan grup atau pengulangan banyak nilai (Multivalued Attribute) yang terdapat atribut waktu1 dan waktu2 pada tabel mata_kuliah. Sehingga memungkinkan terjadinya anomali (insert, delete, dan update anomaly).

Pada situasi seperti ini kita diharuskan mengulangi lagi dekomposisi tabel mata_kuliah dengan mencari lagi ketergantungan fungsional pada tabel tersebut. Ketergantungan fungsional dari tabel mata_kuliah tersebut adalah nim, kode_matkul → merupakan Ketergantungan Fungsional waktu1 dan waktu2. permasalahan ini mengharuskan untuk menguraikan atribut baru sehingga didapatkan entri data unik dan dapat menjadi kunci primer (primary key). Tabel mata_kuliah diatas dapat didekomposisikan lagi menjadi tabel_jadual dan memberi atribut kode_jadwal dan jam. Perhatikan gambar dibawah.

dekomposisi-dari-tabel-belum-normal-unnormalized-mata_kuliah
Dekomposisi dari Tabel Belum Normal (Unnormalized) Mata Kuliah
Setelah dekomposisi diuraikan, dapat disimpulkan bentuk normalisasi basis data bentuk normal pertama terhadap tabel atau relasi data mata kuliah per mahasiswa ini terdiri dari atribut nim, nama, kode_matkul, matkul, kode_jual, dan jadual. Perhatikan gambar contoh tabel yang memenuhi normalisasi bentuk normal pertama (1NF) berdasarkan tabel universal kumpulan data mata kuliah per mahasiswa dibawah.

tabel-normalisasi-basis-data-bentuk-normal-pertama-1NF
Tabel Normalisasi Basis Data Bentuk Normal Pertama (1NF)

Jika dan hanya jika domain dari setiap atribut pada tabel database mahasiswa diatas hanya berisi nilai bersifat atom (elemen terkecil) atau tidak dapat diuraikan lagi, maka tabel tersebut telah memenuhi bentuk normalisasi basis data bentuk pertama (1NF) dan dapat dilanjutkan ke bentuk normal kedua (2NF) jika diperlukan. Artinya, dalam Aturan dan tahapan perancangan basis data dengan pendekatan teknik normalisasi basis data tidak harus memenuhi semua tahapan bentuk awal hingga akhir normalisasi. Dimana jika Normalisasi basis data pada bentuk normal tertentu dapat memenuhi aturan BCNF (Boyce-Codd Normal Form), maka basis data tersebut dikatakan efisien dan baik.

0 Response to " Normalisasi Basis Data Bentuk Normal Pertama (1NF) "

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel