• Tidak ada hasil yang ditemukan

Operasi Dasar Basis Data

Dalam dokumen PENGANTAR SISTEM BASIS DATA (Halaman 12-0)

BAB I. PENDAHULUAN

E. Operasi Dasar Basis Data

Berikut beberapa operasi dasar basis data :

Create database : Perintah yang digunakan untuk membuat basis data dengan nama yang diberikan

Drop database : Perintah yang digunakan untuk

menghapus basis data dengan nama yang diberikan

Create table : Perintah yang digunakan untuk menciptakan suatu tabel dalam basis data memperbaharui data (record) pada table

Delete : Perintah yang digunakan untuk menghapus data (record) pada table F. Pemanfaatan Basis Data

Pemanfaatan basis data yaitu :

Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi

Menentukan kualitas informasi : akurat, tepat waktu dan relevan.

Mengurangi duplikasi data (data redundancy)

Hubungan data dapat ditingkatkan

Manipulasi terhadap data dengan cepat dan mudah

Efisiensi penggunaan ruang penyimpanan G. Penerapan Basis Data

Tidak ada sistem informasi yang bisa dibangun tanpa adanya basis data, sehingga bisa dikatakan posisi basis data

pada sebuah sistem informasi adalah sangat penting.

H. Kriteria Basis Data

Berorientasi pada data dan bukan berorientasi pada program

Dapat digunakan oleh beberapa program aplikasi tanpa mengubah basis datanya

Dapat berkembang dengan mudah, baik volume maupun strukturnya

Dapat digunakan dengan cara berbeda-beda

Kerangkapan data minimal

I. Sistem Manajemen Basis Data (DBMS)

Merupakan perangkat lunak yang didesain untuk melakukan penyimpanan dan pengaturan basis data

Sistem Manajemen Basis Data (DBMS) juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, pemaksaan keakuratan data, dll.

J. Peranan Basis Data dalam Pengembangan Sistem Informasi

Sistem Informasi berperan sebagai sistem karena mempunyai ruang lingkup yang relatif lebih luas dan lebih kompleks. Sedangkan sistem basis data merupakan subsistem karena menjadi bagian dan berada di dalam Sistem Informasi

Sistem basis data adalah sistem informasi yang mengintegrasikan kumpulan dari data yang saling berhubungan satu dengan yang lain dan membuatnya tersedia untuk beberapa aplikasi yang bermacam-macam di dalam suatu organisasi.

Keberadaan sistem basis data di dalam Sistem Informasi adalah mutlak. Sistem Informasi tidak akan terwujud tanpa melibatkan basis data

BAB II

SISTEM BASIS DATA

A. Pengertian Sistem Basis Data

Sistem Basis Data merupakan sekumpulan basis data dengan para pemakai yang menggunakan basis data secara bersama-sama, personil yang merancang dan mengelola basis data, teknik-teknik untuk merancang dan mengelola basis data, serta sistem komputer yang mendukungnya.

B. Komponen Sistem Basis Data

Komponen-komponen utama penyusun sistem basis data adalah :

Perangkat keras

Sistem operasi

Basis data

Sistem pengelola basis data (DBMS)

Pemakai (Programmer, User mahir, user umum, user khusus)

C. Penyusun Sistem Basis Data

Sistem basis data merupakan lingkup terbesar dalam organisasi data. Sistem basis data mencakup semua bentuk komponen data yang ada dalam suatu sistem. Sedangkan basis data merupakan komponen utama yang menyusun sistem basis data

D. Bahasa Basis Data

Bahasa basis data merupakan perantara bagi pemakai dengan basis data dalam berinteraksi, yang telah ditetapkan oleh pembuat DBMS. Bahasa basis data dapat dibedakan menjadi 2, yaitu:

1) Data Definition Language (DDL)

DDL merupakan kumpulan perintah SQL yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data dari objek-objek database. Dengan bahasa ini dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur tabel, dll. Hasil dari kompilasi perintah DDL menjadi Kamus Data, yaitu data yang menjelaskan data sesungguhnya

2) Data Manipulation Language (DML)

Data Manipulation Language merupakan kumpulan perintah query yang digunakan untuk memanipulasi data pada database. DML Berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data, yang berupa insert, update, delete, dll. Ada 2 jenis, yaitu prosedural (ditentukan data yang diinginkan dan cara mendapatkannya) dan non-prosedural (tanpa menyebutkan cara mendapatkannya)

E. Pengguna Basis Data

Secara umum pengguna basis data dapat dikelompokkan menjadi 2, yaitu :

1) Database Administrator

Database administrator (DBA) merupakan pengguna

yang memiliki kewenangan untuk melakukan pengawasan baik data maupun program.

Fungsi DBA adalah

Mendefinisikan struktur basis data

Mendefinisikan struktur penyimpanan dan metode akses

Memodifikasi organisasi fisik

Memberikan kewenangan pada user untuk mengakses data

Menspesifikasikan keharusan integritas data 2) Database User

Ada 4 pemakai basis data, yaitu :

Programmer aplikasi  Merupakan pembuat program aplikasi

Casual user / Naïve User  Pemakai yang sudah mahir, berinteraksi dengan sistem tanpa menulis program, tapi menggunakan query

End user  Pemakai yang belum mahir, hanya menjalankan aplikasi yang sudah dibuat oleh programmer aplikasi

Specialized user  Pemakai khusus yang menuliskan aplikasi database tidak dalam kerangka pemrosesan data, namun untuk keperluan khusus seperti CAD, AI, ES, dll

BAB III

LINGKUNGAN BASIS DATA

A. Kekangan Dalam Basis Data

Penyusunan basis data digunakan untuk mengatasi masalah-masalah pada penyusunan data, yaitu :

1) Redundansi Data

Redudansi data merupakan munculnya data-data yang sama secara berulang-ulang pada beberapa file basis data yang semestinya tidak diperlukan Akan mengakibatkan proses updating lebih lama dan memungkinkan terjadinya inconsistency data.

2) Inkonsistensi Data

Inkonsistensi data merupakan munculnya data yang tidak konsisten pada field yang sama untuk beberapa file dengan kunci yang sama Terjadi akibat kesalahan dalam pemasukan data atau update data. Akan mengakibatkan kesalahan pada hasil pengolahan basis data yang tidak sesuai dengan fakta

3) Isolasi Data untuk Standarisasi

Disebabkan oleh pemakaian beberapa file basis data yang tersebar dalam beberapa file, hal ini menyulitkan program-mer untuk mengambil dan menyimpan data.

4) Banyak Pemakai (Multi User)

Basis data dapat diakses oleh beberapa pemakai secara simultan, karena data yang diolah tidak bergantung

dan menyatu dalam program tapi terlepas dalam satu kelompok data.

5) Masalah Keamanan (Security)

Pada prinsipnya file basis data hanya boleh diakses oleh pemakai tertentu yang mempunyai wewenang.

Pembatasan dapat dilakukan melalui DBMS atau program aplikasi.

6) Masalah Integritas (Integrity)

Untuk menjaga agar unjuk kerja sistem tetap dalam pengendalian penuh. Secara teknis maka ada kunci primer yang menghubungkan beberapa file yang saling berkaitan.

7) Masalah Kebebasan Data (Independence)

Basis data yang dirancang hendaknya tidak bergantung pada program aplikasi yang dibangun Sehingga apabila ada perubahan terhadap field, tidak perlu merubah struktur programnya

B. Organisasi File Basis Data

Tujuan organisasi file dalam sistem basis data :

Menyediakan sarana pencarian record bagi pengolahan, seleksi, atau penyaringan

Memudahkan pembuatan atau pemeliharaan file Ada 2 jenis media penyimpan file :

SASD (Sequential Access Storage Device)

Proses pembacaan record harus berurutan

Tidak ada pengalamatan

Data disimpan dalam bentuk blok

Proses penulisan hanya bisa dilakukan sekali

Contoh : magnetic tape

DASD (Direct Access Storage Device)

Pembacaan record tidak harus urut

Mempunyai alamat

Data dapat disimpan dalam karakter atau blok

Proses penulisan dapat dilakukan beberapa kali

Contoh : harddisk, floppy disk Metode susunan file :

Sequential (urut)

Record disimpan berdasarkan suatu kunci

Pencarian record tertentu dilakukan record demi record berdasarkan kuncinya

Random (Acak)

Kunci record ditransformasikan ke alamat penyimpanan dalam media fisik secara acak

Indexed Sequential

Merupakan gabungan antara metode urut dan acak

Record disimpan secara berurutan dengan menggunakan kunci

Masing-masing record memiliki indeks

Pengalamatan dilakukan secara acak

Indexed Random

Record disimpan secara acak

Masing-masing record memiliki indeks C. Arsitektur sistem basis data

Pertimbangan dalam memilih arsitektur sistem basis data :

Keunggulan teknologi

Biaya pengembangan

Sesuai dengan kebutuhan pengguna

Jenis arsitektur sistem basis data :

 Sistem tunggal (Standalone)

DBMS, basis data, dan aplikasi basis data ditempatkan pada komputer yang sama.

Hanya bisa dipakai oleh satu pemakai pada saat yang bersamaan

Sistem Terpusat (Centralized system)

Terdiri dari sebuah server dan sejumlah terminal

Bagian yang terpusat adalah basis data, DBMS, dan aplikasi basis data

Sistem Client-server

Ditujukan untuk mengatasi kelemahan yang terdapat pada sistem terpusat

Terdiri dari 2 komponen utama yaitu client dan server. Client berisi aplikasi basis data; server berisi DBMS dan basis data

D. Konsep DBMS

DBMS (Data Base Management System) merupakan perangkat lunak yang memberikan fasilitas untuk melakukan fungsi pengaturan, pengawasan, pengendalian, pengolahan, dan koordinasi terhadap semua proses yang terjadi pada sistem basis data.

Komponen-komponen utama DBMS :

Query language

Digunakan oleh bagian lain dengan sedikit perintah sederhana

Contoh : SQL (Structure Query Language), QBE (Query By Example)

Report generator

Dirancang untuk membuat cetakan, yang memiliki

perintah- perintah untuk membuat header, judul, kolom, summary, dll.

DML (Data Manipulation Language)

Terdiri dari perintah-perintah yang disediakan dalam program aplikasi untuk melakukan manipulasi data seperti append, list, atau update

DDL (Data Definition Language)

Dengan bahasa ini dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur tabel, dll.

Hasil dari kompilasi perintah DDL menjadi Kamus Data, yaitu data yang menjelaskan data sesungguhnya

Contoh : Create, Modify report, Modify structure

Recovery

Merupakan kemampuan untuk mengembalikan data yang rusak atau hilang akibat operasi basis data (insert, update, delete, dll.)

Data dictionary

Digunakan untuk memelihara definisi-definisi standar seluruh rinci data dalam lingkup kecil pada sistem basis data

Database

Merupakan bagian dari DBMS yang menyediakan data dalam berbagai tipe dan format untuk memenuhi kebutuhan pemakai

Access routine

Suatu rutin yang dapat dipanggil dan dipergunakan oleh program lain untuk mengakses basis data E. Kamus Data

DBMS memberikan fasilitas data dictionary (kamus

data) untuk mendefinisikan nama-nama rinci data dan format penyimpanannya

Kamus data digunakan untuk :

Pada tahap analisis, sebagai alat komunikasi antara analis sistem dengan pemakai sistem tentang data yang mengalir di sistem, yaitu tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan oleh pemakai sistem

Pada tahap perancangan sistem, digunakan untuk merancang input, laporan-laporan dan database

Kamus data berisi : Nama arus data, alias, bentuk data, arus data, penjelasan atau keterangan-keterangan, periode terjadinya transaksi, volume arus data yang mengalir dalam periode tertentu, struktur data

BAB IV

RELATIONAL DATABASE MODEL

A. Terminologi Relational Database Model

Model ini menjelaskan tentang hubungan logik antar data dalam basis data dengan cara memvisualisasikan ke dalam bentuk tabel dua dimensi yang terdiri dari sejumlah baris dan kolom yang menunjukan atribut-atribut

Istilah-istilah dalam model basis data relasional :

Record : Sebuah baris dalam suatu relasi.

Disebut juga tuple

Cardinality : Banyaknya record dalam sebuah relasi

Atribut : Suatu kolom dalam sebuah relasi Domain : Batasan nilai dalam atribut dan tipe dipilih dan dipakai untuk membedakan suatu record

kolom

B. Karakteristik Model Basis Data Relasional

Relasi dalam model basis data relasional memiliki karakteristik :

Semua entry / elemen data pada suatu baris dan kolom tertentu harus mempunyai nilai tunggal (single value), atau suatu nilai yang tidak dapat dibagi lagi (atomic value), bukan suatu kelompok pengulangan

Semua entry / elemen data pada suatu kolom tertentu dalam relasi yang sama harus mempunyai jenis yang

C. Komponen Relasi

Tabel relasional mempunyai 2 komponen :

Intention

Terdiri dari dua bagian yaitu struktur penamaan (naming structure) dan batasan integritas (integrity constraint)

Struktur penamaan menunjukkan nama tabel dan nama atribut yang ada lengkap dengan dengan batasan nilai dan tipe datanya

Batasan integritas dipengaruhi oleh integritas referential yang meliputi key constraint dan referensial constraint.

Key constraint tidak mengijinkan adanya nilai null pada atribut yang digunakan sebagai primary key

Referentil constraint memberikan aturan bahwa

nilai- nilai dalam atribut kunci yang digunakan untuk menghubungkan ke basis data lain tidak diijinkan memiliki nilai null

Extention

Menunjukkan isi dari tabel-tabel pada suatu waktu, cenderung berubah sewaktu-waktu

D. Kunci Relasi

Dasar penentuan primary key adalah bahwa nilai-nilai rinci data dari atribut yang digunakan sebagai primary key harus unik, tidak boleh ada nilai data yang sama pada semua record dalam basis data

Aturan-aturan lainnya :

Integritas entity

Nilai atribut yang dipilih sebagai primary key tidak boleh null untuk setiap record yang ada dalam relasi

Aturan ini menjamin bahwa semua record yang ada dalam basis data akan dapat diakses karena semua record dapat diidentifikasi berdasarkan kunci yang unik

Integritas referensial

Jika dua buah tabel direlasikan maka primary key harus menjamin bahwa untuk setiap nilai primary key tertentu dalam tabel A, harus ada pula record

dengan nilai primary key yang sama pada tabel B

Contoh :

Tabel Mahasiswa Tabel Hobi

nim nama

B12110 Andri Suryanto C12007 Tiara Putri B12112 Andi Nur Cahyo

nim hobi

B12110 Memancing C12007 Berkebun B12112 Olahraga B12112 Membaca

E. Relasi Antar Entity Ada dua jenis:

Relasi antar entity dalam satu tabel

Berupa relasi antar entity yang berupa record untuk menyediakan data atau informasi dari atribut-atribut dalam satu tabel

Contoh: dalam tabel mahasiswa dapat diperoleh informasi bahwa nim B12110 bernama Andri Suryanto dengan jenis kelamin laki-laki

Relasi antar entity dalam banyak tabel

Tipe ini mempunyai kerelasian yang lebih rumit

Ada 3 jenis : Tree, Simple network, Complex network

Hal yang harus diperhatikan adalah bagaimana agar relasi-relasi yang ada dalam sistem basis data dapat dihubungkan satu sama lain.

F. Basis Data Yang Baik

Pembentukan basis data yang baik akan memberikan sejumlah keuntungan :

Tabel-tabel dan relasi lebih kompak

Struktur masing-masing tabel lebih efisien dan sistematik

Kebutuhan ruang penyimpanan data lebih efisien

Redundansi data yang optimal akan meningkatkan integritas data

Tidak ada ambiguitas data di semua tabel

BAB V NORMALISASI

A. Pengertian

Normalisasi adalah suatu teknik yang membuat tabel dengan struktur yang baik dengan cara-cara tertentu untuk membantu mengurangi atau mencegah timbulnya masalah yang berhubungan dengan pengolahan data dalam basis data. Kriteria yang mendefinisikan level-level pada normalisasi adalah bentuk normal. Melalui normalisasi dapat membentuk struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

B. Tujuan Normalisasi

Normalisasi perlu dilakukan agar hubungan dalam basis data menjadi mudah dimengerti, mudah dipelihara, mudah memprosesnya, dan mudah untuk dikembangkan sesuai kebutuhan baru. Selain itu, tujuan normalisasi adalah menghilangkan kerangkapan data, mengurangi kompleksitas, mempermudah pemodifikasian data.

C. Anomali

Masalah-masalah yang timbul dalam pembuatan tabel yang disebut dengan anomali. Anomali adalah proses pada basis data yang mempunyai efek samping yang tidak diharapkan. Misal : data tidak konsisten, suatu data hilang pada saat dihapus, dll.

Anomali ada 3 jenis yaitu : 1) Anomali peremajaan

Anomali ini terjadi bila ada perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya diubah. Contoh:

Tabel Mahasiswa

nama_mahasiswa program_studi jumlah_sks Kartika Putri Manajemen Informatika 5

Claudia Citra Manajemen Informatika 2 Yudi Permadi Manajemen Informatika 2 Claudia Citra Manajemen Informatika 1

Seandainya Claudia Citra dengan program_studi manajemen Informatika pindah ke Komunikasi Massa maka pengubahan data hanya dilakukan pada data pertama menjadi:

Tabel Mahasiswa

nama_mahasiswa program_studi jumlah_sks Kartika Putri Manajemen Informatika 5

Claudia Citra Komunikasi Massa 2 Yudi Permadi Manajemen Informatika 2 Claudia Citra Manajemen Informatika 1

Pada tabel tersebut terlihat bahwa data tentang nama_mahasiswa Claudia Citra tidak sama yang menyebabkan data tidak konsisten.

2) Anomali Penyisipan

Anomali ini terjadi pada saat penambahan data ternyata ada elemen yang kosong dan elemen tersebut justru menjadi key.

Contoh : Tabel Ekstrakurikuler nim ekstrakurikuler biaya B12110 Karate 30.000

B12112 Tenis 35.000

B12110 Tenis 35.000

B12111 Paduan Suara 20.000 B12110 Bulu Tangkis 20.000

Misalnya akan tambah ekstrakurikuler baru yaitu Pemrograman Android dengan biaya 50.000 akan tetapi belum ada seorangpun yang ikut ekstrakurikuler pemrograman android ini, sehingga data menjadi:

Tabel Ekstrakurikuler

nim ekstrakurikuler biaya B12110 Karate 30.000

B12112 Tenis 35.000

B12110 Tenis 35.000

B12111 Paduan Suara 20.000 B12110 Bulu Tangkis 20.000

Pemrograman Android

50.000

3) Anomali penghapusan

Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga akibatnya terdapat data lain yang hilang. Contoh pada tabel ekstrakurikuler data nim B12112 akan dihapus karena sudah tidak ikut ekstrakurikuler lagi sehingga akibatnya data ekstrakurikuler tenis dan biaya 35.0000 akan ikut terhapus.

D. Dependensi (Ketergantungan)

Konsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya.

Macam-macam dependensi, yaitu : 1) Dependensi Fungsional

Definisi : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.

Notasi : X  Y (X secara fungsional menentukan Y bisa dikatakan juga Y bergantung pada X)

Contoh: Tabel Nilai

nim nama mata_kuliah nilai

B12110 Andri Suryanto Basis Data A

C12007 Tiara Putri Basis Data A

B12112 Andi Nur Cahyo Basis Data B

B12110 Andri Suryanto Algoritma Pemrograman A B12111 Ilham Aris Prasetyo Basis Data C B12110 Andri Suryanto Struktur Data B A12007 Tiara Putri Algoritma Pemrograman B

Dengan demikian : nim  nama

nim secara fungsional menentukan nama, sebab setiap nim yang sama mempunyai nama yang sama.

{nim, mata_kuliah}  nilai

nim dan mata_kuliah secara fungsional menentukan nilai, sebab setiap nim dan mata_kuliah yang sama mempunyai

nilai yang sama.

Keterangan:

Bagian yang terletak di sebelah kiri tanda panah biasa disebut determinan / penentu dan bagian yang terletak di sebelah kanan panah disebut dependensi / yang tergantung.

Tanda {} digunakan untuk menentukan lebih dari satu atribut sebagai penentu atau sebagai yang tergantung.

2) Dependensi Penuh

Definisi : Suatu atribut Y mempunyai dependensi fungsional penuh terhadap X jika

Y mempunyai dependensi fungsional terhadap X dan/atau

Y tidak memiliki dependensi terhadap bagian (subset) dari X

Contoh : {nim, mata_kuliah)  nilai

(Bukan depedensi penuh. Tapi jika mata_kuliah dihilangkan akan menjadi dependensi penuh)

mata_kuliah  nilai 3) Dependensi Parsial

Definisi : Dependensi Parsial merupakan ketergantungan fungsional dimana beberapa atribut dapat dihilangkan dari X dengan ketergantungan tetap dipertahankan

Contoh : {nim, nama, mata_kuliah)  nilai

(dimana jika nama dihapus maka ketergantungan tetap ada)

4) Dependensi Transitif

Definisi : Dependensi transitif adalah kondisi dimana X,Y, Z merupakan atribut suatu relasi, dimana X  Y dan Y  Z. Maka dikatakan Z dependensi transitif terhadap X melalui Y Contoh : Tabel mahasiswa

Nim nama mata_kuliah dosen

B12110 Andri Suryanto Basis Data Marwoto C12007 Tiara Putri Basis Data Marwoto B12112 Andi Nur Cahyo Basis Data Marwoto B12111 Ilham Aris Prasetyo Basis Data Marwoto

nim  mata_kuliah matakuliah  nim

E. Dekomposisi

Pada tahap normalisasi sering kali terjadi pemecahan tabel kedalam bentuk dua atau lebih relasi. Proses pemecahaan ini disebut dengan dekomposisi. Syarat dekomposisi adalah : Tidak ada informasi yang hilang ketika suatu relasi dipecah menjadi relasi-relasi lain.

Contoh : Terdapat suatu relasi awal sebagai berikut:

nim Nama hobi

B12110 Andri Suryanto Memancing C12007 Tiara Putri Berkebun B12112 Andi Nur Cahyo Olahraga B12112 Andi Nur Cahyo Membaca

Akan dilakukan dekomposisi, dengan tidak menghilangkan informasi. Hasil dekomposisi sebagai berikut:

Nim nama B12110 Andri Suryanto C12007 Tiara Putri B12112 Andi Nur Cahyo

nim hobi

B12110 Memancing C12007 Berkebun B12112 Olahraga B12112 Membaca

F. Bentuk Normalisasi

Berikut langkah-langkah normalisasi

1) Bentuk normalisasi pertama (1NF)

Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dan tidak ada pengulangan grup atribut dalam baris. Bentuk 1NF tidak boleh mengandung grup atribut yang berulang.

Dikenakan pada tabel yang sama sekali belum ternomalisasi. Tabel yang belum ternomalisasi adalah tabel yang mempunyai atribut berulang. Contoh : terdapat suatu data sebagai berikut :

Nim Nama hobi

B12110 Andri Suryanto Memancing C12007 Tiara Putri Berkebun

B12112 Andi Nur Cahyo Olahraga, Membaca

Pada contoh di atas, hobi mempunyai atribut yang berulang. Untuk itu akan dibentuk ke normal 1NF. Syarat Normal 1NF adalah suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal dalam satu baris.

Tabel Mahasiswa Tabel Hobi

nim nama Nim hobi

B12110 Andri Suryanto B12110 Memancing C12007 Tiara Putri C12007 Berkebun B12112 Andi Nur Cahyo B12112 Olahraga B12112 Membaca

Tabel di atas sudah memenuhi bentuk normal 1NF, karena tidak ada atribut bernilai ganda dalam satu baris.

2) Bentuk Normal 2NF

Suatu relasi disebut memenuhi bentuk normal kedua (2NF) jika dan hanya jika :

Memenuhi 1NF

Setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut kunci (fully functionally dependent).

Aturan :

Sudah memenuhi dalam bentuk normal kesatu (1NF)

Semua atribut bukan kunci hanya boleh tergantung (functional dependency) pada atribut kunci

Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain

Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi

Untuk normalisasi ke bentuk 2NF, maka tabel 1NF didekomposisi menjadi beberapa tabel yang masing- masing memenuhi 2NF. Bila terdapat ketergantungan parsial maka : eliminate.

Tujuan membentuk 2NF :

semantik tabel 2NF menjadi lebih eksplisit (fully FD)

mengurangi update anomali yang masih mungkin terjadi pada 1NF

Contoh :

Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:

nim nama_ mahasiswa program_ studi kode_ makul sks nama_ makul nilai

Primary key : nim, kode_makul

Tidak memenuhi 2NF, karena {nim, kode_makul} yang dijadikan sebagai primary key sedangkan :

{nim, kode_makul} nama_mahasiwa (dependensi parsial) {nim, kode_makul} program_studi (dependensi

parsial) {nim, kode_makul} nama_makul (dependensi

parsial)

{nim, kode_makul} sks (dependensi

parsial)

{nim, kode_makul} nilai (dependensi

{nim, kode_makul} nilai (dependensi

Dalam dokumen PENGANTAR SISTEM BASIS DATA (Halaman 12-0)