Normalisasi
adalah suatu teknik untuk mengorganisasikan data ke dalam table-tabel untuk
memenuhi kebutuhan pemakai di dalam suatu organisasi. Data diuraikan dalam
bentuk table, selanjutnya dianalisis berdasarkan persyaratan tertentu ke
beberapa tingkat.
Normalisasi juga
bertujuan :
·
Untuk menghilangkan kerangkapan data
·
Untuk mengurangi kompleksitas
·
Untuk mempermudah pemodifikasi data
Kasus
Berikut Terdapat Contoh struck pemesanan/pembelian
Tiket dari salah Satu Transportasi di Indonesia yang akan coba kita normalisasi
sekaligus penjelasan mengenai Tahapannya.
Nama
|
: Lulu
|
Alamat
|
: Ngaliyan
Semarang
|
Telepon
|
: 8232876
|
Email
|
|
Tanggal
Pesan
|
: 08 SEP
2018, 20:39:15
|
Kode Pemesanan
Booking Code
HRQYJS
TANGGAL BOOKING
|
NO KA
|
NAMA KERETA
|
JAM BERANGKAT
|
JAM SAMPAI
|
STATION AWAL
|
STATION TUJUAN
|
09 SEP 2018
|
308
|
KALIGUNG
|
05:00
|
07:08
|
SEMARANG
|
TEGAL
|
|
|
|
|
|||||||
|
Tahapan
Normalisasi
Dalam
Studi kasus ini terdapat beberapa tahapan yang diantaranya sebagi berikut :
·
Un-Normalized
Dari
tahapan ini sebenarnya kita hanya dituntut untuk lebih detail terdapan
pengamatan atau analisa data, karena kunci dari normalisai ini terdapat dalam
pengamatan kita yang kemudian mempermudah dalam proses berikutnya
·
Normalisasi Form 1
(NF1)
Dari sebuah
pengamatan dan analisis data kemudian diuraikan dalam sebuah bentuk table
berdasarkan persyaratan tertentu ke beberapa pengelompokan seperti apa adanya.
NoTransaksi
|
TglBooking
|
Tujuan
|
TglBerangkat
|
NoKA
|
Kelas
|
NamaKereta
|
JenisPenumpang
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Harga
|
QTY
|
NoKursi
|
IdPelanggan
|
NamaPelanggan
|
StationAwal
|
PPN
|
Total
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
·
Normalisasi Form 2 (NF2)
Apabila memenuhi
persyaratan, maka table tersebut perlu dipecah menjadi beberapa table yang
lebih sederhana dalam pengelompokannya.
Pembuatan Tabel Pelanggan
Ditemui Hasil
Tabel Pelanggan
|
||
IdPelanggan
|
NamaPelanggan
|
StationAwal
|
101
|
Lulu Ni
|
Station Gambir
|
102
|
Ni Linu Nya
|
Station Ps.Senin
|
103
|
Rifal Sa
|
Station Jatinegara
|
104
|
Dita Nya
|
Station Tanahabang
|
Pembuatan Tabel
Kereta
ditemui hasil
Tabel Kereta
|
||||
NoKA
|
Kelas
|
NamaKereta
|
JenisPenumpang
|
Harga
|
303
|
Ekonomi
|
Kamandaka
|
Dewasa
|
50000
|
304
|
Ekonomi
|
Kamandaka
|
Anak-anak
|
35000
|
403
|
Exclusif AC
|
Tegal Express
|
Dewasa
|
100000
|
404
|
Exclusif AC
|
Tegal Express
|
Anak-anak
|
75000
|
Pembuatan Tabel Booking
Menjadi Hasil
Tabel Transaksi
|
|||||||
NoTransaksi
|
TglBooking
|
TglBerangkat
|
Tujuan
|
QTY
|
IdPelanggan
|
NoKA
|
NoKursi
|
502
|
19-Sep-18
|
25-Sep-18
|
semarang
|
1
|
104
|
304
|
21
|
503
|
22-Sep-18
|
25-Sep-18
|
Purwekerto
|
3
|
103
|
403
|
5
|
505
|
19-Sep-18
|
26-Sep-18
|
Tegal
|
2
|
101
|
303
|
23
|
·
Normalisasi Form 3 (NF3)
Tahapan Ini adalah
tahapan dimana dari pemecahan table memberikan sebuah kunci (primary key) yang akan disibolkan (*)
disetiap Tabelnya. Primary key adalah
field kunci/ utama dari suatu table yang menunjukan bahwa field yang di kunci
tersebut tidak bisa diisi dengan data yang sama.
Table Pelanggan
Idpelanggan*
NamaPelanggan
StationAwal
|
Table Kereta
NoKA*
Kelas
NamaKereta
JenisPenumpang
Harga
|
Table Transaksi
NoTransaksi*
TglBooking
TglBerangkat
Tujuan
QTY
NoKursi
IdPelanggan**
NoKA**
|
Dalam Tahapan Ini
tidak boleh ada memiliki filed yang bergantung transitif, harus terkunci pada
primary key atu pada kunci utama.
Relasi
Daftar Keterangan Field
·
NoTransaksi (Tabel Booking)
·
Tgl booking (Tabel Booking)
·
Tujuan (Table Booking)
·
TgalBerangkat (Table Booking)
·
NoKA (Tabel Booking)
·
Kelas (Tabel Kereta)
·
NamaKereta (Tabel Kereta)
·
JenisPenumpang(Tabel Kereta)
·
Harga (Tabel Kereta)
·
QTY (Tabel Booking)
·
NoKursi (Tabel Booking)
·
IdPelanggan (Tabel Booking)
·
NamaPelanggan (Tabel Pelanggan)
·
Station Awal (Tabel Pelanggan)
·
PPN:[Harga]*0.10
·
Total:[Harga]*[QTY]+[PPN]*[QTY]
Hasil Relasi yang sudah dicoba dengan
mengikput data.
Demikian Tahapan Normalisasi denga pacuan
salah satu struck pemesanan/pembelian dati tiket kereta api.
Terimakasih dan selamat mencoba...