VISITORS

Flag Counter

Arsip Blog

Anshar Music

Perancangan & Implementasi Basis Data Relasional Dengan Teknik Normalisasi

Perancangan & Implementasi Basis Data Relasional Dengan Teknik Normalisasi


Di susun oleh :
Nama                                   Nim

Al – Anshar   :     5520111201

Sekolah Tinggi Manajemen Informatika dan Komputer
STMIK ADHI GUNA
2011


DAFTAR ISI

I. DAFTAR ISI...............................................................................................................2
  ISI..................................................................................................................................
II. Analisa & Perancangan Basis Data...........................................................................3
    1. Proses dalam metodologi perencangan …………………………………….........4
    2. Conceptual Database Design……………………………………………………..4
    3. Logical Database Design…………………………………………………………8
    4. Physical Database Design………………………………………………………10
III. Teknik Normalisasi…………………... …………………………………………14
 1. Pengertian Normalisasi………………………………………………………...14
     2. Tujuan Normalisasi…………………………………………………………….14
     3. Bentuk tidak normal……………………………………………………………14
     4. Bentuk-bentuk normalisasi……………………………………………………..15
IV. DAFTAR PUSTAKA............................................................................................18

  


Analisa dan Perancangan Basis Data

Database Management System (DBMS)

Database Management System adalah sistem software yang dapat mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data.
Fasilitas yang disediakan oleh DBMS adalah:
  • Dapat mendefinisikan basis data dengan menggunakan Data Definition Language (DDL). DDL dapat memberi fasilitas kepada pengguna untuk menspesifikasikan tipe data, struktur dan batasan aturan mengenai data yang bisa disimpan ke dalam basis data.
  • Pengguna dapat menambah, mengedit, menghapus dan mendapatkan kembali data dengan menggunakan data manipulation language.
  • Dapat mengontrol akses ke basis data, yaitu mencegah pengguna tanpa otoritas, sistem integrasi untuk memelihara konsistensi penyimpanan data, sistem control untuk memperbolehkan pengguna untuk akses, sistem kontrol untuk pengembalian data yang bisa mengembalikan data ke keadaan semula apabila ada kegagalan software atau hardware, catalog yang dapat diakses pengguna yang mendeskripsikan data dalam basis data.
Keuntungan:
  • Konsistensi data
  • Pengontrolan duplikasi data
  • Semakin banyak informasi yang didapat dari data yang sama
Perancangan basis data merupakan proses menciptakan perancangan untuk basis data yang akan mendukung operasi dan tujuan perusahaan (Connolly,2002,p279). Dalam merancang suatu basis data, digunakan metodologi-metodologi yang membantu dalam tahap perancangan basis data.


Metodologi perancangan adalah pendekatan struktur dengan menggunakan prosedur, teknik, alat, serta bantuan dokumen untuk membantu dan memudahkan dalam proses perancangan. Dengan menggunakan teknik metode disain ini dapat membantu dalam merencanakan, mengatur, mengontrol, dan mengevaluasi database development project (Connolly,2002,p418).
Proses dalam metodologi perancangan dibagi menjadi tiga tahap :
  1. Conseptual Database Design
  2. Logical Database Design
  3. Physical Database Design
A. Conceptual Database Design
Conceptual database design adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh perusahaan atau organisasi, tanpa pertimbangan perencanaan fisik.
Langkah pertama : Membuat local conceptual data model untuk setiap pandangan yang spesifik. Local conceptual data model terdiri dari :
a. Entitiy types
Menurut Connoly (2002,p331), entity types adalah kumpulan objek yang mempunyai karakteristik yang sama, dimana telah diidentifikasi oleh perusahaan.Menurut Silberschatz (2002,p27), entity types adalah kumpulan dari entity yang memiliki tipe dan karakteristik yang sama.
Entity dapat dibedakan menjadi dua yaitu :
· Strong Entity : entity yang keberadaannya tidak tergantung kepada entity lain (Fathansyah,1999,p94).
· Weak entity : entity yang keberadaannya tergantung dari entity lain (Fathansyah,1999,p94).
Contohnya adalah entity mahasiswa dan orang tua. Dimana mahasiswa merupakan strong entity dan orang tua merupakan weak entity karena keberadaan entity orang tua tergantung dari entity mahasiswa.
b. Relationship types
Menurut Connolly (2002,p334) definisi dari relationship types adalah kumpulan antar entity yang saling berhubungan dan mempunyai arti.
c.Attribute dan attribute domains
Attribute adalah karakteristik dari suatu entity atau relasi (Connolly,2002,p338). Setiap attribute diperbolehkan untuk memiliki nilai yang disebut dengan domain. Attribute domains adalah kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih attribute.
Ada beberapa jenis dalam attribute :
· Simple attribute dan Composite attribute
Simple attribute adalah attribute yang terdiri dari komponen tunggal dimana attribute tersebut tidak dapat dipisahkan lagi, sedangkan composite attribute adalah attribute yang masih dapat dipisahkan menjadi beberapa bagian. Contoh dari simple attribute adalah nama_barang sedangkan untuk composite attribute adalah alamat pada entity mahasiswa, karena dalam alamat bisa dibagi menjadi bagian entiti jalan, entiti kode_pos dan entiti kota (Silberchatz,2002,p29).

· Single-valued attribute dan Multi-valued attribute
Single-valued attribute adalah attribute yang memiliki satu nilai pada setiap entity, sedangkan multi-valued attribute adalah attribute yang mempunyai beberapa nilai pada setiap entity.Contoh dari single-valued attribute adalah Nim, nama_Mhs, tanggal_lahir, dan lain-lain. Sedangkan untuk multi-valued attribute contohnya adalah jam_pelajaran, hobi, dan lain-lain.

· Derived attribute
Derived attribute merupakan attribute yang nilai-nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari attribute lain yang berhubungan (Silberschatz,2002,p30). Contohnya adalah attribute umur pada entity mahasiswa dimana attribute tersebut diturunkan dari attribute tanggal_lahir dan tanggal_hari_ini.

d. Primary key dan alternate keys
Primary key adalah key yang telah menjadi candidate key yang dipilih secara unik untuk mengidentifikasi suatu entity types. Candidate key adalah kumpulan attribute minimal yang unik untuk mengidentifikasikan suatu entity types (Connolly,2002,p340).
Alternate key adalah key yang digunakan sebagai alternatif dari key yang telah didefinisikan (Fathansyah,1999,p104).

e. Integrity constraints
Integrity constraints adalah batasan-batasan yang menentukan dalam rangka melindungi basis data untuk menghindari terjadinya inconsistent. (Connolly,2002,p457).
Pada tahap conceptual model,langkah-langkah yang dilakukan adalah sebagai berikut:
a. Mengidentifikasi entity types
Bertujuan untuk menentukan entity types utama yang dibutuhkan. Menentukan entity dapat dilakukan dengan memeriksa user’s requirement specification. Setelah terdefinisi, entity diberikan nama yang tepat dan jelas seperti mahasiswa, dosen, mata_kuliah.
b. Mengidentifikasikan relationship types
Bertujuan untuk mengidentifikasi suatu relationship yang penting yang ada antar entity yang telah diidentifikasi. Nama dari suatu relationship menggunakan kata kerja seperti mempelajari, memiliki mempunyai dan lain-lain.
c. Mengidentifikasi dan menghubungkan attribute dengan entity atau relationship  types
Bertujuan untuk menghubungkan attribute dengan entity atau relationship yang tepat. Attribute yang dimiliki setiap entity atau relationship memiliki identitas atau karakteristik yang sesuai dengan memperhatikan attribute berikut : simple/composite attribute, single/multi-valued attribute dan derived attribute.
d. Menentukan attribute domain
Bertujuan untuk menentukan attribute domain pada conceptual data model. Contohnya yaitu menentukan nilai attribute jenis_kelamin pada entity mahasiswa dangan ‘M’ atau ‘F’ atau nilai attribute sks pada entity mata_kuliah dengan ‘1’, ’2’, ‘3’ dan ‘4’.
e. Menentukan candidate key dan primary key attributes
Bertujuan untuk mengidentifikasi candidate key pada setiap entity dan memilih primary key jika ada lebih dari satu candidate key. Pemilihan primary key didasari pada panjang dari attribute dan keunikan key di masa datang.


f. Mempertimbangkan penggunaan enhance modeling concepts (pilihan)
Pada langkah ini bertujuan untuk menentukan specialization, generalization, aggregation, composition. Dimana masing-masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada.
Specialization dan generalization adalah proses dalam mengelompokan beberapa entity dan menghasilkan entity yang baru. Beda dari keduanya adalah cara prosesnya, dimana spesialisasi menggunakan proses top-down dan generalisasi menggunakan proses bottom-up.
Aggregation menggambarkan sebuah entity types dengan sebuah relationship types dimana suatu relasi hanya akan ada jika telah ada relationship lainnya.
g. Mengecek redundansi
Bertujuan untuk memeriksa conceptual model untuk menghindari dari adanya informasi yang redundan. Yang dilakukan pada langkah ini adalah :
· Memeriksa kembali one-to-one relationship.
Setelah entity diidentifikasikan maka kemungkinan ada dua entity yang mewakili satu objek. Untuk itu dua entity tersebut harus di-merger bersama. Dan jika primary key-nya berbeda maka harus dipilih salah satu dan lainnya dijadikan alternate key.
· Menghilangkan relasi yang redundansi.
Untuk menekan jumlah model data, maka relationship data yang redundan harus dihilangkan.
h. Memvalidasi conceptual model dengan transaksi.
Bertujuan untuk menjamin bahwa conceptual data model mendukung kebutuhan transaksi. Dengan menggunakan model yang telah divalidasi tersebut, dapat digunakan untuk melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk mejamin bahwa local conceptual data model mendukung kebutuhan transaksi yaitu :
· Mendeskripsikan transaksi
Memeriksa seluruh informasi (entities, relationship, dan attribute) yang diperlukan pada setiap transaksi yang disediakan oleh model dengan mendokumentasikan penggambaran dari tiap kebutuhan transaksi.


· Mengunakan transaksi pathways
Pendekatan kedua, untuk memvalidasi data model dengan keperluan transaksi yang melibatkan diagram yang mewakili pathways diambil dari tiap transaksi secara langsung yang terdapat pada E-R diagram menggambarkan komponen-komponen dari entity dan relasi yang masing-masing dilengkapi dengan attribute-attribute yang merepresentasikan seluruh fakta dari real-world yang kita tinjau (Fathansyah,1999,p79). Sedangkan menurut Silberschartz (2002,p42), E-R diagram dapat menyatakan keseluruhan struktur logical dari basis data dengan menggunakan bagan.
i. Melihat kembali conceptual data model dengan pengguna.
Bertujuan untuk melihat kembali conceptual model dan memastikan bahwa data model tersebut sudah benar.

B. Logical Database Design
Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada perusahan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBMS) yang khusus dan pertimbangan fisik yang lain (Connolly,2002,p441).
DBMS adalah software yang memungkinkan pemakai untuk mendefinisi, membuat, memelihara, dan mengontrol akses ke basis data (Connolly,2002,p16).
Fasilitas-fasilitas yang disediakan oleh DBMS antara lain :
1. Memperbolehkan user untuk mendefinisikan basis data.
2. Memperbolehkan user untuk menambah , mengubah, dan menghapus serta mengambil data dari basis data.
3. Menyediakan kontrol akses ke basis data. Seperti security, integrity, concurrency control, recovery control system dan user-accessible catalog.
Langkah kedua : membuat dan memvalidasi local logical data model untuk setiap pandangan. Bertujuan untuk membuat local logical data model dari local conceptual data model yang mempresentasikan pandangan khusus dari perusahaan dan memvalidasi model tersebut untuk menjamin kebenaran strukturnya (dengan menggunakan teknik normalisasi) dan menjamin bahwa model tersebut mendukung kebutuhan transaksi.

Pada perancangan model logical langkah kedua, tahapan-tahapannya adalah :
a. Menghilangkan features yang tidak compatible dengan model relasional (pilihan).           Bertujuan untuk menghasilkan model yang kompatibel dengan model relasional. Yaitu dengan :
  • Menghilangkan many-to-many (*:*) binary relationship types
  • Menghilangkan many-to-many (*:*) recursive relationship types
  • Menghilangkan complex relationship types
  • Menghilangkan multi-valued attributes
b. Memperoleh relasi untuk local logical data model.
Bertujuan untuk membuat hubungan logical model yang mewakili entity, relationship dan attribute yang telah didefinisi. Mendeskripsikan komposisi tiap hubungan memakai Database Definition Language (DDL) untuk relasi yang diikuti dengan daftar dari relasi attribute yang mudah lalu mengidentifikasikan primary key dan foreign key dari suatu relasi. Untuk memperoleh relasi untuk local data model, maka diperlukan penjelasan untuk mendeskripsikan struktur yang mungkin dalam data model saat ini.
            Bahasa dalam basis data dapat dibedakan menjadi dua bentuk :
· Data Definition Language (DDL)
DDL merupakan bahasa dalam basis data yang memungkinkan pengguna untuk membuat atau menghapus basis data, membuat atau menghapus tabel membuat struktur penyimpanan tabel. Hasil dari kompilasi DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut dengan kamus data.
· Data Manipulation Language (DML)
DML merupakan bahasa dalam basis data yang memungkinkan pengguna untuk melakukan manipulasi data pada suatu basis data, seperti menambah, mengubah, menghapus data dari suatu basis data.
Langkah ketiga : Membuat dan memvalidasi global logical data model. Bertujuan untuk menyatukan local logical data model menjadi global logical data model.
Pada perancangan model logikal langkah ketiga, tahapan-tahapannya adalah :
a. Menggabungkan local logical data model menjadi global model
Pada langkah ini, setiap local logical data model menghasilkan E-R diagram, skema relasional, kamus data dan dokumen pendukung yang mendeskripsikan constraints dari model.
Beberapa tugas yang harus dikerjakan adalah sebagai berikut :
· Memeriksa lembali nama dan isi dari entities dari relationships dan candidate key.
· Memeriksa kembali nama dan isi dari relationships/ foreign keys.
· Menggabungkan entities atau hubungan dari local data model.
· Mengikutsertakan (tanpa menggabungkan) entities atau relationships yang unik pada tiap local data model.
· Menggabungkan relationships atau foreingn key dari local data model.
· Mengikutsertakan (tanpa menggabungkan) relationships atau foreign key unik pada tiap local data model.
· Memeriksa untuk entities (hubungan) dan relationships atau foreign key.
· Memeriksa integrity constraints.
· Menggambarkan ER-diagram.
· Melakukan update dokumen.
b. Memvalidasi global logical data model
Bertujuan untuk memvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan menjamin bahwa model tersebut mendukung kebutuhan transaksi
c. Mengecek pertumbuhan yang akan datang
Bertujuan untuk menentukan apakah ada perubahan yang signifikan seperti keadaan yang tidak terduga dimasa mendatang dan menilai apakah model logikal tersebut dapat menampung atau menyesuaikan perubahan yang terjadi.
d. Melihat kembali global logical data model dengan pengguna
Bertujuan untuk menjamin model data logikal yang bersifat global telah tepat untuk perusahaan.

C. Physical Database Design
Phisical database design adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan .
Langkah keempat : Menterjemahkan global logical data model untuk target DBMS. Bertujuan untuk menghasilkan skema basis data relasional dalam global logical data model yang dapat diimplemetasikan ke DBMS.
Pada perancangan model physical, langkah-langkahnya adalah :
a. Merancang basis relasional
Dalam memulai merancang physical design, diperlukan untuk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bisa didapatkan dari kamus data dan DDL.
b. Merancang representasi dari data yang diperoleh
Bertujuan untuk menentukan bagaimana setiap data yang diperoleh mewakili global logical data model ke dalam DBMS.
c. Merancang enterprise constraints
Pada langkah ini bertujuan untuk merancang batasan-batasan yang ada pada perusahaan.
Langkah kelima : Merancang representasi physical. Bertujuan untuk menentukan organisasi file yang optimal untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk meningkatkan performa.
Terdapat tiga faktor yang memungkinkan digunakannya representasi physical :
1. Transaction throughput
2. Response time
3. Disk storage
Dalam langkah kelima ini perlu untuk memahami system resources untuk meningkatkan performa basis data.
  • Main memory
Dengan semakin besar main memory yang ada maka akan dapat meningkatkan performa DBMS dan aplikasi basis data yang digunakan.
  • CPU
CPU mengontrol tugas-tugas dari system resources lain dan mengeksekusi prosesnya.
  • Disk I/O
Dengan menggunakan DBMS yang besar, maka disk I/O yang diperlukan sangat signifikan dalam menyimpan dan mengambil data. Untuk menghindari kemacetan transfer data, maka :
Ø File sistem operasi harus dipisahkan dari file basis data.
Ø File utama basis data harus dipisahkan dari file indeks.
Ø File recovery log harus dipisahkan dari basis data yang sedang tidak digunakan.

  • Network
Ketika jumlah data yang ditransfer telah banyak, maka dengan menggunakan network sangat dianjurkan. Selain itu juga untuk menghindari dari kemacetan dalam mentransfer data.
Pada langkah kelima ini, tahapan-tahapannya adalah :
a. Menganalisis transaksi
Bertujuan untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting. Kriteria kemampuan yang harus diidentifikasikan dalam menganalisa transaksi adalah :
· Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang signifikan pada performa.
· Transaksi yang kritis pada operasi dan bisnis.
· Waktu selama sehari atau seminggu ketika akan ada permintaan yang tinggi pada saat basis data dibuat.
b. Memilih file organisasi
Bertujuan untuk menyimpan data secara tepat ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan (Silberschatz,2002,p422), yaitu :
Ø Heap
Ø Hash
Ø Sekuensial berindeks
Ø Clusters
c. Memilih indeks
Bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indexes sebagaimana diperlukan. Oleh karena itu, atribut yang digunakan adalah:
· Atribut yang sering digunakan untuk join operations untuk membuat lebih efisien.
· Atribut yang sering dipesan untuk mengakses tuples pada suatu relasi didalam urutan yang menunjukkan atribut.
d. Memperkirakan kebutuhan ruang penyimpanan
Bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi.
Contohnya dalam lima tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data.
Langkah keenam : Merancang pandangan pengguna. Bertujuan untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle. Contohnya pada branch terdiri dari direktur dan manajer pandangan.
Langkah ketujuh : Merancang keamanan. Dalam sebuah sistem basis data, keamanan adalah elemen yang sangat penting mengingat isi dari basis data berupa informasi yang sangat penting. menurut Silberschatz (2002,p239) ukuran keamanan yang dapat diambil untuk melindungi basis data antara lain dari segi :
· Sistem basis data : ada beberapa pengguna berwenang yang dizinkan untuk mengakses bagian basis data tertentu dan ada para pengguna yang lain hanya diizinkan untuk membaca data yang diinginkannya, tetapi tidak punya hak untuk mengubahnya. Kewajiban dari sistem basis data ini adalah menjaga batasan seperti di atas tetap terjaga.
· Sistem operasi : tidak peduli betapa aman sistem basis datanya, apabila terjadi kelemahan dalam sistem operasi. Hal ini sama artinya dengan adanya akses yang tidak diinginkan dalam basis data. Jadi tingkat keamanan perangkat lunak dalam sistem operasi sangatlah penting seperti halnya keamanan yang dilakukan secara fisik.
· Jaringan : seluruh sistem basis data memperbolehkan untuk mengakses lewat terminal atau jaringan, keamanan software-level dalam software jaringan sangat penting sebagai keamanan fisik, keduanya dibutuhkan dalam internet dan jaringan pribadi.
· Fisik : situs yang mengandung sistem komputer harus secara fisik aman dari entri secara diam-diam dan bahaya oleh para penyelundup.
· Manusia : otorisasi pada pengguna harus dilakukan secara hati-hati untuk mengurangi adanya kejadian dimana pengguna yang berwenang memberikan akses kepada orang lain dengan imbalan suap atau lainnya.





TEKNIK NORMALISASI

1.Pengertian Normalisasi
            Normalisasi merupakan proses pengelompokan data elemen menjadi table-tabel yang menunjukkan entitas dan relasinya.
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharap- kan (misalnya ketidakkonsistenan data karena adanya redudansi).
Ada 3 macam anomali pada suatu database:
  1. Anomali penyisipan data (insert)
  2. Anomali pengubahan data (update)
  3. Anomali penghapusan data (delete)
            Bila ada anomali maka relasi mungkin perlu dipecah menjadi beberapa tabel lagi agar diperoleh database yang optimal.
      Depedensi (Ketergantungan).
Depedensi merupakan konsep yang menda-sari  normalisasi. Depedensi menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya.
Jenis depedensi antara lain:
    1. Depedensi Fungsional
Suatu atribut Y mempunyai depe-densi fungsional terhadap atribut X jika dan hanya jika setiap nilai nilai X berhubungan dengan sebuah nilai Y.
    X → Y
    1. Depedensi Transitif
Atribut Z mempunyai depedensi transitif terhadap X bila:
      • Y memiliki depedensi fungsional terhadap X
      • Z memiliki depedensi fungsional terhadap Y
2.Tujuan dari Normalisasi
Ø  Untuk menghilangkan kerangkapan data
Ø  Untuk mengurangi kompleksitas
Ø  Untuk mempermudah pemodifikasian data
3.Bentuk tidak normal (unnormalized Form)
            Bentuk ini merupakan kumpulan data yang direkam, tidak ada keharusan mengikuti suatu format tertentu, bisa tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya. 
contoh :
Seorang pegawai memiliki : nomor_pegawai, nama_pegawai, nomor_klien, nama_klien, alamat_klien, keperluan_klien
Satu orang pegawai mungkin akan melayani lebih dari 1 orang klien.

no_pegawai                nama_pegawai                       no_klien          nama_klien
P27                              Amir Udinsah                                     K01                 Rini Suwandi
K02                 Edi Damhudi
K04                 Fatwa Sari
P28                              Kartika Amelia                        K03                 Robert Irwandi
K07                 Veronica Suci
P29                              Barkah                                     K05                 Gabriela Febrianti
P30                              Mahendra                                K06                 Siti Amiarti
K08                 Sandi Sunardi

4.Bentuk – bentuk normalisasi antara lain :

1. Bentuk normal pertama (1NF)
  • Setiap data disajikan dalam bentuk flat file (tabular/tabel)
  • Seluruh atribut kunci terdefinisikan
  • Tidak ada pengulangan group pada tabel•Semua atribut bergantung pada kunci primer (PK)
Contoh :
no_pegawai                nama_pegawai                       no_klien          nama_klien
P27                              Amir Udinsah                                     K01                 Rini Suwandi
P27                              Amir Udinsah                                     K02                 Edi Damhudi
P27                              Amir Udinsah                                     K04                 Fatwa Sari
P28                              Kartika Amelia                        K03                 Robert Irwandi
P28                              Kartika Amelia                        K07                 Veronica Suci
P29                              Barkah                                     K05                 Gabriela Febrianti
P30                              Mahendra                                K06                 Siti Amiarti
P30                              Mahendra                                K08                 Sandi Sunardi

2. Bentuk normal kedua (2NF)
Sebuah tabel/relasi berada dalam bentuk normal kedua jika:
·         Sudah berada dalam bentuk pertama dan
·         Semua atribut bukan kunci memiliki depedensi sepenuhnya terhadap kunci primer (PK)
(Namun masih memungkinkan tabel dalam 2NF menunjukkan adanya depedensi transitif; artinya ada satu atau beberapa atribut yang masih bergantung pada atribut bukan kunci)
Contoh :
no_pegawai                nama_pegawai                      
P27                              Amir Udinsah                                    
P28                              Kartika Amelia                       
P29                              Barkah                                    
P30                              Mahendra                               

no_klien          nama_klien
K01                 Rini Suwandi
K02                 Edi Damhudi
K03                 Robert Irwandi
K04                 Fatwa Sari
K05                 Gabriela Febrianti
K06                 Siti Amiarti
K07                 Veronica Suci
K08                 Sandi Sunardi

3. Bentuk normal ketiga (3NF)
Sebuah tabel/relasi berada dalam bentuk normal ketiga jika:
·         Sudah berada dalam bentuk kedua dan
·         Tidak mengandung depedensi transitif
Contoh :
no_pegawai                no_klien
P27                              K01
P27                              K02                
P27                              K04
P28                              K03    
P28                              K07                
P29                              K05                
P30                              K06                
P30                              K08    

4. Bentuk BCNF (Boyce-Codd Normal Form)
BCNF adalah kasus khusus 3NF. Sebuah tabel/relasi berada dalam bentuk BCNF jika:
·         Setiap penentu (determinan) pada tabel adalah sebuah kunci kandidat (candidate key)
·         Jika tabel hanya mengandung satu kunci kandidat  maka bentuk 3NF sama dengan BCNF.


  
DAFTAR PUSTAKA



http://expresiaku.wordpress.com/category/ilmu-komputer/analisa-dan-perancangan-basis-data/
Terima kasih telah membaca artikel tentang Perancangan & Implementasi Basis Data Relasional Dengan Teknik Normalisasi di blog Anshar Share jika anda ingin menyebar luaskan artikel ini di mohon untuk mencantumkan link sebagai Sumbernya, dan bila artikel ini bermanfaat silakan bookmark halaman ini di web browser anda, dengan cara menekan Ctrl + D pada tombol keyboard anda.

Artikel terbaru :