PERANCANGAN BASIS DATA
TEKNIK PERANCANGAN BASIS DATA Teknik/Model Entity Relationship Teknik Normalisasi
TEKNIK NORMALISASI
Proses Normalisasi Proses normalisasi adalah proses pengelompokkan data elemen menjadi tabel tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi selalu dilakukan pengujian database pada beberapa kondisi, antara lain: menambah/ insert menghapus/ delete mengubah/ update membaca/ retrieve
Proses Normalisasi Dua konsep yang harus diketahui lebih dahulu yang berhubungan dengan normalisasi, yaitu: Field/ atribute kunci Kebergantungan fungsi (functional dependency)
Field/Attribute Kunci Setiap file/tabel selalu terdapat kunci dari file/tabel berupa satu field atau satu set field yang dapat mewakili record. Misalnya nomor pegawai Jadi Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik. Macam-macam Field/attribute kunci: Candidate Key (Kunci Kandidat/Kunci Calon) Primary Key (Kunci Primer) Alternate Key (Kunci Alternatif) Foreign Key (Kunci Tamu)
Candidate Key/Kunci Kandidat Kunci kandidat adalah satu atribute atau satu set minimal atribute yang mengidentifikasikan secara unik suatu kejadian spesifik dari entity. Jika satu kunci kandidat berisi lebih dari satu atribute, maka biasanya disebut sebagai composite key (kunci campuran/ gabungan).
Candidate Key/Kunci Kandidat Contoh: File Pegawai berisi attribute: No Induk Pegawai (NIP) - Tempat Lahir - Kota No KTP - Tanggal Lahir - Alamat Nama Kunci kandidat disini adalah: No Induk Pegawai (NIP), karena unik tidak mungkin ganda. No KTP, karena unik tidak mungkin ganda. Nama, sering dipakai sebagai kunci pencarian namun tidak dapat dikatakan kunci karena sering seseorang punya nama yang sama. Nama + Tanggal lahir, mungkin dapat dipakai sebagai kunci karena kemungkinan sangat kecil seseorang punya nama sama yang lahir pada hari yang sama. Nama + tempat lahir + tanggal lahir, dapat dipakai sebagai kunci Alamat, kota (bukan kunci).
Primary Key/Kunci Primer Primary Key adalah satu atribute atau satu set minimal atribute yang tidak hanya mengidentitikasi secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entity. Setiap kunci kandidat punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang ada.
Primary Key/Kunci Primer Contoh: No Induk (NIP), karena unik tidak mungkin ganda dan mewakili secara menyeluruh terhadap entity Pegawai, dan setiap pegawai selalu punya nomor induk No KTP, ini hanya dipakai bila sampai dengan pembayaran gaji pegawai ternyata nomor induk belum keluar.
Alternate Key (Kunci alternatif) Alternate Key adalah kunci kandidat yang tidak dipakai sebagai primary key. Kerap kali kunci alternatif dipakai sebagai kunci pengurutan dalam laporan.
Foreign Key (Kunci Tamu/Asing) Foreign Key adalah satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan) yang menunjukkan ke induknya. Kunci tamu ditempatkan pada entity anak dan sama dengan kunci primary induk yang direlasikan.
Foreign Key (Kunci Tamu/Asing)
Ketergantungan Fungsi (Functional Dependency) Definisi dari functional dependence adalah: Diberikan sebuah relasi R, atribute Y dari R adalah bergantung fungsi pada atribute X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat satu nilai Y dalam R (dalam setiap satu waktu). Notasi : X Y atau Y = F (X)
Ketergantungan Fungsi (Functional Dependency) Pada tabel relasi Pegawai berisi attribute : NIP Nama Tempat Lahir Tanggal Lahir Alamat Kota Isi dari atribute Nama bergantung pada NIP. Jika Anda mengetahui NIP pegawai, maka Anda dapat menentukan Nama pegawai tersebut. Notasi untuk kebergantungan fungsi ini adalah: NIP Nama atau Nama = F (NIP)
Bentuk-Bentuk Normalisasi Bentuk tidak normal (Unnormalized Form) Bentuk Normal Kesatu (1NF/ First Normal Form) Bentuk Normal Kedua (2NF/ Second Normal Form) Bentuk Normal Ketiga (3NF/Third Normal Form)
Bentuk tidak normal (Unnormalized Form) Bentuk ini memiliki ciri-ciri, yaitu : Merupakan kumpulan data yang akan direkam Dapat saja data tidak lengkap atau terduplikasi Data dikumpulkan apa adanya sesuai dengan kedatangannya.
Bentuk Normal Kesatu (1NF/ First Normal Form) Bentuk normal ke satu mempunyai ciri yaitu: Setiap data dibentuk dalam flat file (file data/ rata) Data dibentuk dalam satu record demi satu record dan nilai dari field field berupa "atomic value". Tidak ada set atribute yang berulang-ulang atau atribute bernilai ganda (multivalue). Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata-kata sehingga artinya lain.
Bentuk Normal Kesatu (1NF/ First Normal Form) KELAS(Kode_kelas, nama_kelas, instruktur) merupakan bentuk 1NF karena tidak ada yang berganda dan tiap atribute satu pengertian yang tunggal. Kode Kelas Nama Kelas Instruktur 1234 Fisika Dasar Suroso 1543 Matematika Paulus 1775 Teknik Program Bagus
Bentuk Normal Kesatu (1NF/ First Normal Form) SISWA(No_siswa, Nama, Wali_studi, Kelas1, Kelas2, Kelas3) Siswa yang punya nomor siswa, nama dan wali studi mengikuti 3 mata pelajaran/ kelas. Disini ada perulangan kelas 3 kali, ini bukan bentuk 1 NF. No_siswa Nama Wali_Studi Kelas1 Kelas2 Kelas3 22890100 Tanzania Suroso 1234 1543 22890101 Nia Paulus 1775
Bentuk Normal Kesatu (1NF/ First Normal Form) bentuk 1 NF. No_siswa Nama Wali_Studi Kode_kelas 22890100 Tanzania Zaman 1234 1543 22890101 Nia Rizki 1775
Bentuk Normal Kedua (2NF/ Second Normal Form) Bentuk normal kedua mempunyai syarat yaitu: Bentuk data telah memenuhi kriteria bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama/ primary key. Sudah ditentukan kunci-kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.
Bentuk Normal Kedua (2NF/ Second Normal Form) Dari contoh relasi SISWA pada bentuk normal kesatu, terlihat bahwa: kunci utama/ primary key adalah nomor siswa. Nama siswa dan Wali_studi bergantung fungsi pada No_siswa, tetapi kode_kelas bukanlah fungsi dari SISWA maka file SISWA dipecah menjadi 2 relasi/tabel
Bentuk Normal Kedua (2NF/ Second Normal Form) Relasi SISWA Relasi AMBILKELAS No_siswa Nama Wali_Studi 22890100 Tanzania Zaman 22890101 Nia Rizki No_siswa Kode_Kelas 22890100 1234 1543 22890101 1775
Bentuk Normal Ketiga (3NF/Third Normal Form) Untuk menjadi bentuk normal ketiga: Relasi haruslah dalam bentuk normal kedua dan semua atribute bukan primer tidak punya hubungan yang transitif. Setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh. Contoh pada bentuk normal kedua di atas termasuk juga bentuk normal ketiga karena seluruh atribute yang ada bergantung penuh pada kunci primernya.
PENERAPAN TEKNIK NORMALISASI
PENERAPAN TEKNIK NORMALISASI Proses perancangan database dapat dimulai dari dokumen dasar yang dipakai dalam sistem.
Step I bentuk unnormalized Bentuklah menjadi tabel unnormalized, dengan mencantumkan semua field data yang ada Menuliskan semua data yang akan direkam
Step II bentuk normal kesatu Bentuklah menjadi bentuk normal kesatu dengan memisah-misahkan data pada field-field yang tepat dan bernilai atomic Seluruh record harus lengkap adanya. Bentuk file adalah flat file.
Step II bentuk normal kesatu Kelemahan-kelemahan bentuk normal kesatu yaitu: Inserting/ penyisipan Kita tidak dapat memasukkan kode dan nama supplier saja tanpa ada transaksi pembelian, sehingga supplier baru dapat masuk bila ada transaksi pembelian. Deleting/ Penghapusan Bila satu record di atas dihapus misalnya nomor factur 779, maka berakibat pula menghapus data supplier S02 (Hitachi), padahal data supplier masih diperlukan. Updating/ Pengubahan Kode dan nama supplier terlihat ditulis berkali kali, bila suatu ketika terjadi perubahan nama supplier misalnya maka harus mengganti disemua record yang mengandung nama tersebut. Bila ada yang terlewat maka membuat data tidak konsisten lagi. Redundancy Field jumlah di atas merupakan redundancy, karena setiap kali harga dikalikan dengan quantitas akan menghasilkan jumlah. Maka field tersebut dapatlah dibuang, bila tidak dibuang maka mengakibatkan tidak konsisten. Tidak konsisten disini disebabkan karena bila ada perubahan harga, hanya data harga yang diubah, data jumlah tidak maka nilai jumlah tidak sama dengan qty x harga.
Step III bentuk normal kedua Pembentukan bentuk normal kedua dengan mencari kunci-kunci field yang dapat dipakai sebagai patokan dalam pencarian dan sifatnya unik. Melihat kondisi dari permasalahan factur di atas dapat diambil kunci kandidat yaitu: No factur (no fac) Kode supplier Kode barang Bentuklah tiga tabel dengan kunci tersebut, lihatlah ketergantungan fungsional field-field lain terhadap field kunci.
Step III bentuk normal kedua
Step III bentuk normal kedua Dengan pemecahan seperti di atas maka sebagian dari pertanyaan pengujian pada bentuk normal kesatu yaitu inserting, deleting, updating dapat terjawab. Kode dan nama supplier baru dapat masuk kapanpun tanpa harus ada transaksi pada tabel Nota, cukuplah dibuka tabel Supplier dan disisipkan satu record baru. Demikian pula pada saat update dan delete baik untuk tabel Supplier dan juga tabel Barang.
Step III bentuk normal kedua Namun permasalahan masih ada yaitu pada tabel Nota. Field Qty dan Harga pada tabel tersebut tidak bergantung penuh pada kunci primer nomor nota, ia juga bergantung fungsi pada kode barang. Hal ini disebut sebagai kebergantungan yang transitif dan haruslah dipisahkan dalam dua tabel. Masih terdapat redundancy yaitu setiap kali satu nota yang terdiri dari 5 macam barang yang dibeli maka 5 kali pula dituliskan no nota, tanggal nota, tempo, dan totai. Ini harus pula dipisahkan bila terjadi penggandaan tulisan berulang ulang.
Step IV bentuk normal ketiga Bentuk normal ketiga mempunyai syarat setiap tabel tidak mempunyai field yang bergantung transitif, harus bergantung penuh pada kunci utama.
Step IV bentuk normal ketiga
Step V Pengujian Data Contoh Pengujian disini untuk memastikan kebenaran isi tabel dan hubungan antara tabel tersebut. Ujilah bahwa setiap tabel haruslah punya hubungan dengan tabel yang lainnya. Bila tidak ada penghubung antar tabel maka dapat dikatakan perancangan untuk membuat satu database adalah gagal.
Step V Pengujian Data Contoh
Step VI Hubungan Relasi Antar Tabel Menggambarkan relasi antar tabel Satu supplier punya banyak nota Satu nota punya bebebrapa transaksi barang Satu barang terjadi beberapa kali transaksi pembelian barang.
Step VII Kelengkapan Field-Field Dalam Tabel Permasalahan di atas hanya mengacu pada satu dokumen Faktur pembelian barang, padahal pada kenyataan sesungguhnya tentulah factur tersebut punya dokumen pelengkap misalnya Nota Penjualan Barang, Laporan Stock barang, Laporan Penjualan, Laporan pembelian dan masih banyak laporan dan dokumen data entry lainnya.
--SELESAI--
Attention Please!! Minggu Depan akan diadakan Tes Tengah Semester Waktu Tes = 60 Menit Sifat Tes = Open Book
Kisi-Kisi Soal Ujian Mid Semester Pengertian basis data, operasi dasar basis data, tujuan basis data, pengertian Sistem Basis Data, Komponen-2 SBD Terminologi Sistem Basis Data, Pengertian DBMS, Kegunaan/Syarat Database, Abstraksi Data, Paket Bahasa, Pengguna Database Teknik Perancangan Database, Relasi, Kardinalitas, Diagram E-R, Tahapan Pembuatan Diagram E-R, Diagram E-R dengan Kamus Data, Derajat Relasi Minimum Varian Entitas : Entitas Kuat, Entitas Lemah, Sub Entitas Varian Relasi : Relasi Tunggal, Relasi Multi Entitas, Relasi Ganda, Spesialisasi, Generalisasi, Agregasi, Modifikasi Diagram E-R.