NORMALISASI
NORMALISASI Normalisasi juga merupakan pemilah-milahan satu table yang besar dan kompleks menjadi beberapa table, dimana tabel yang dipilah tersebut saling berhubungan satu dengan yang lainnya. Alasan mengapa perlu dilakukan normaisasi terhadap tabel: Mengurangi redundansi data Membuat field yang bukan key bergantung fungsi sepenuhnya pada primary key-nya Agar kesulitan dalam proses penyisipan/ penambahan, pengupdate-an dan penhapusan data tidak sulit dilakukan
NORMALISASI Bentuk-bentuk normalisasi bentuk tidak normal bentuk normal pertama bentuk normal kedua bentuk normal ketiga Dan seterusnya sampai dengan normal yang ke N
NORMALISASI Bentuk tidak normal, pada bentuk ini biasanya data yang direkam tidak megikuti suatu format yang tertentu, bisa saja data terduplikasi atau data tidak lengkap. Bentuk Normal Pertama, pada bentuk ini data dibuat dalam table 2 dimensi dan tidak ada attribut yang berniali ganda atau berulang ulang.
NORMALISASI Bentuk Normal Kedua, untuk membentuk normal kedua, table harus sudah dalam bentuk normal pertama. Kemudian periksa apakah masih terjadi kesulitan dalam hal penambahan, penghapusan dan update data. Periksa apakah masih ada attribut yang bukan key masih bergantung fungsi terhadap attribut yang bukan merpakan key nya.
Penerapan Bentuk Normalisasi Perancangan database dengan model konseptual ini bisa dirancang dengan menggunakan dokumen dasar dari system yang dipakai. Sebagai contoh dari sebuah bon faktur pembelian barang berikut ini:
Penerapan Bentuk Normalisasi
Penerapan Bentuk Normalisasi Langkah pertama yang dilakukan yakni membentuk informasi diatas kedalam bentuk tabel transaksi. Dari contoh faktur-faktur yang ada kemudian dimasukkan dalam tabel tersebut, sehingga diperoleh bentuk tabel sebagi berikut:
Penerapan Bentuk Normalisasi Tabel berikut adalah bentuk tidak normal yang diperoleh dari faktur yang ada Nofac kdsup nmsup kdbrg nmbrg tglfac tgljtp qty harga jumllah total 779 S01 Hitachi R02 RCook 02/02/03 02/03/03 10 150000 1500000 998 G01 Gobel A01 AC½PK 07/02/03 09/03/03 1350000 13500000 33500000 A02 AC1PK 2000.000 20.000.000
Penerapan Bentuk Normalisasi Langkah selanjutnya adalah menjadikan bentuk tidak normal kedalam bentuk normal yang pertama. Yaitu dengan melengkapi kekosongan data untuk kolom/field yang ada. Sehingga diperoleh tabel sebagai berikut:
Penerapan Bentuk Normalisasi Nofac kdsup nmsup kdbrg nmbrg tglfac tgljtp qty harga jumllah total 779 S01 Hitachi R02 RCook 02/02/03 02/03/03 10 150000 1500000 998 G01 Gobel A01 AC½PK 07/02/03 09/03/03 1350000 13500000 33500000 A02 AC1PK 2000.000 20.000.000 Dari tabel diatas dapat dilihat : Terjadi redundansi data Jika dilakukan penghapusan satu record berdasarkan kriteria tertentu akan mengakibatkan terhapusnya record lain
Penerapan Bentuk Normalisasi Penambahan data susah dilakukan jika tidak terjadi transaksi. Misalnya penambahan sebuah data suplier, namun suplier tersebut belum pernah melakukan transakasi. Dari penjelasa diatas dapat disimpulkan bahwa tabel tidak normal dan harus dilakukan normal yang kedua
Penerapan Bentuk Normalisasi Untuk mendapatkan bentuk normal kedua, maka table harus sudah dalam bentuk normal pertama. Dan dalam hal ini harus sudah ditentukan mana saja field yang menjadi kunci calon (kandidat key). Sebagai kandidat key dari table diperoleh sebanyak 3 kandidat key : no factur kode supplier kode barang
Penerapan Bentuk Normalisasi Dari ketiga kunci kandidat dapat dibentuk table yang mana field yang bukan key harus bergantung fungsi terhadap field yang merupakan key nya.
Penerapan Bentuk Normalisasi Kdsup Nmsup Kdbrg Nmbr No fac Tglfac Tgljtp Quantity Harga Jumlah Total Tabel supliers Tabel Barang Tabel Transaksi
Penerapan Bentuk Normalisasi Tabel Suplier Tabel Barang Kdbrg Nmbrg R02 R. COOKER A01 AC SPLIT 1/2PK A02 AC SPLIT 1PK Kdsup Nmsup G01 GOBEL S01 HITACHI Tabel Transaksi Nofac Tgfac Tgljtp Qty Harga Jumlah Total Kdsup kdbrg 779 02/02/03 02/03/03 10 150.000 1.500.000 S01 R02 998 07/02/03 09/03/03 1.350.000 13.500.000 33.500.000 G01 A01 2.000.000 20.000.000 A02
Penerapan Bentuk Normalisasi Dari hasil normal kedua dapat dilihat bahwa tidak tejadi lagi kesulitan dalam hal penyisipan, penghapusan dan update. Hal ini dapat dilihat untuk menyisipkan satu supplier baru dapat dilakukan tanpa supplier tersebut harus melakukan transaksi pada table nota. Demikian juga untuk penghapusan dan penyisipan.
Penerapan Bentuk Normalisasi Tetapi dari table masih terlihat adanya permasalahan yaitu bahwa dalam table nota masih ada field yang bergantung fungsi kepada field yang bukan key nya, yaitu : Field quantity tidak bergantung penuh pada key no factur. Masih terdapat redundansi data yaitu : setiap satu no factur yang tediri dari 5 jenis barang, maka 5 kali pula dituliskan no facturnya, tanggal factur, tanggal jatuh tempo dan total.
Penerapan Bentuk Normalisasi Karena tabel belum normal maka harus dilanjutkan dengan melakukan normalisasi tabel yang ketiga Untuk membentuk normal ketiga, table harus sudah dalam bentuk normal kedua. Dan semua filed yang bukan keynya harus bergantung fungsi sepenuhnya pada field yang merupakan key nya. Sehingga hasil dari normal ketiga diperoleh table berikut:
Penerapan Bentuk Normalisasi Kdsup Nmsup Kdbrg Nmbrg Nofac Tglfac Tgljtp Total Qty Harga jumlah Tabel suplier Tabel Transaksi Tabel Detail Tabel Barang
Penerapan Bentuk Normalisasi Dari hasil normal ketiga ini dapat dilihat bahwa tidak ada terjadi kesulitan peyisipan, penghapusan dan update. Dan juga terlihat bahwa setiap field yang bukan key sudah bergantung fungsi sepenuhnya terhadap field yang merupakan key nya. Redundansi yang terjadi pada tahap normal kedua sudah dapat di optimalkan.
Penerapan Bentuk Normalisasi Tabel Suplier Tabel Barang Kdsup Nmsup G01 GOBEL S01 HITACHI Kdbrg Nmbrg R02 R. COOKER A01 AC SPLIT 1/2PK A02 AC SPLIT 1PK Tabel Transaksi Nofac Kdsup Tglfac Tgljtp Total 779 S01 02/02/03 02/03/03 1.500.000 998 G01 07/02/03 09/03/03 33.500.000 Tabel Detail Nofac Kdbrg Qty Harga Jumlah 779 R02 10 150.000 1.500.000 998 A01 1.350.000 13.500.000 A02 2.000.000 20.000.000
Penerapan Bentuk Normalisasi Dari hasil rancangan di atas kemudian kita dapat menentukan /mendisain struktur dari setiap tabel hasil rancangan kita, sebagai berikut:
Penerapan Bentuk Normalisasi Struktur Tabel Suplier Field Name Type Size Description KDSUP TEXT 3 Kode Suplier NMSUP 15 Nama Suplier ALMT 20 Alamat Suplier TELP 12 Nomor Telepon Suplier
Penerapan Bentuk Normalisasi Struktur Tabel Barang Field Name Type Size Description KDBRG TEXT 3 Kode Barang NMBRG 15 Nama Barang JENIS Jenis Barang
Penerapan Bentuk Normalisasi Struktur Tabel Transaksi Field Name Type Size Description NOFAC TEXT 3 Nomor Faktur Pembelian TGLFAC DATE - Tanggal Faktur Pembelian TGLJT Tanggal Jatuh Tempo KDSUP Kode Suplier
Penerapan Bentuk Normalisasi Struktur Tabel Detail Transaksi Field Name Type Size Description NOFAC TEXT 3 Nomoer Faktur Pembelian KDBRG Kode Barang QTY NUMBER - Banyak Barang Yg Dibeli HARGA Harga Pembelian Barang