• Tuesday, July 16, 2013

    normalisai tabel sistem informasi rental mobil


    NORMALISASI TABEL
    “RENTAL MOBIL”











           Nama                      : Ahmad Nasrulloh
                                        Kelas                       : MIP 12.1
                                        NIM                        : 610421290015
           Mata kuliah            : Pemrograman SQL



    SEKOLAH TINGGI ELEKTRONIKA DAN KOMPUTER
    (STEKOM)






    NORMALISAI TABEL RENTAL MOBIL
     Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Normalisasi memiliki beberapa tahapan, antara lain :
    • Bentuk Normal Pertama (1NF) memiliki beberapa aturan,yaitu mendefinisikan atribut kunci, tidak adanya group berulang, dan semua atribut bukan kunci tergantung pada atribut kunci 
    • Bentuk Normal Kedua (2NF) memiliki beberapa aturan, antara lain harus sudah memenuhi dalam bentuk normal kesatu, sudah tidak ada ketergantungan parsial, dan seluruh field hanya tergantung pada sebagian field kunci. 
    •  Bentuk Normal  Ketiga (3NF)  memiliki beberapa aturan, yaitu harus sudah berada dalam bentuk normal kedua, sudah tidak adanya ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya), dan bentuk Normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Keseluruhannya cuma ada lima bentuk normal. Tiga bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus Multi Valued Dependencies. 
         Disini saya akan menampilkan salah satu contoh database yang akan dinormalisasi yaitu database rental mobil dan dapat dilihat dibawah ini :
    Tabel rental mobil
    Id_penyewa
    Nama penyewa
    Nama mobil
    Merk mobil
    Id merk
    Tingkatan harga
    Harga/hari
    00011
    Rahmat
    New avansa
    Toyota
    T01
    C
    Rp. 500.000
    00012
    Retno
    CRV
    Honda
    H01
    B
    Rp. 1.000.000
    00013
    Seno
    Range rover
    Xenia
    Mitsibishi
    Daihatsu
    M01
    D01
    A
    C
    Rp. 1.500.000
    Rp. 500.000
    00014
    John
    Freed
    Honda
    H01
    B
    Rp. 1.000.000
    00015
    Yudi
    Yaris
    Toyota
    T01
    C
    Rp. 500.000
    00016
    Stiven
    SX4
    Avansa
    Suzuki
    Toyota
    S01
    T01
    C
    C
    Rp. 500.000
    Rp. 500.000

    Tabel tersebut akan dinormalisasi dengan tiga bentuk seperti yang sudah dijelaskan diatas :
    1.  Normalisasi pertama
         Solusi dalam tabel ini adalah dengan menghilangkan duplikasi dan menjadikan field-field menjadi tergantung pada satu atau beberapa field, tetapi bukan seluruhnya. Disini field yang akan dijadikan primary key antara lain Id Penyewa dan Id Merk yang ditandai dengan model huruf italic

    Table rental mobil
    Id_penyewa
    Nama penyewa
    Nama mobil
    Merk mobil
    Id merk
    Tingkatan harga
    Harga/hari
    00011
    Rahmat
    New avansa
    Toyota
    T01
    C
    Rp. 500.000
    00012
    Retno
    CRV
    Honda
    H01
    B
    Rp. 1.000.000
    00013
    Seno
    Range rover
    Mitsibishi
    M01
    A
    Rp. 1.500.000
    00013
    seno
    Xenia
    Daihatsu
    D01
    C
    Rp. 500.000
    00014
    John
    Freed
    Honda
    H01
    B
    Rp. 1.000.000
    00015
    Yudi
    Yaris
    Toyota
    T01
    C
    Rp. 500.000
    00016
    Stiven
    SX4
    Suzuki
    S01
    C
    Rp. 500.000
    00016
    stiven
    Avansa
    Toyota
    T01
    C
    Rp. 500.000

    Dan kita dapat dari tabel diatas adalah adanya bebarapa kesalahan pada kolom merk mobil yang disewa karena memungkinkan adanya redudansi (pengulangan data)

    2.  Normalisasi kedua 
         Field - field yang tergantung pada satu field haruslah dipisah dengan tepat dan harus berelasi, misalnya  Id Penyewa menjelaskan Nama penyewa, Id merk, tingkatan harga, dan Harga Sewa per Hari. Lalu Id Merk menjelaskan Merk Mobil yang disewa dan Merk Mobil yang disewa menjelaskan Nama Mobil yang disewa dan Tingkatan harga. 

    tabel rental mobil
    id penyewa
    Nama penyewa
    Id merk
    Tingkatan  harga
    Harga
    000111
    Rahmat
    T01
    C
    Rp. 500.000
    00012
    Retno
    H01
    B
    Rp. 1.000.000
    00013
    Seno
    M01
    A
    Rp. 1.500.000
    00014
    John
    H01
    B
    Rp. 1.000.000
    00015
    Yudi
    T01
    C
    Rp. 500.000
    00016
    Stiven
    S01
    C
    Rp. 500.000


    Tabel id merk
    Nama mobil
    Id merk
    Toyota
    T01
    Honda
    H01
    Mitsibishi
    M01
    Honda
    H01
    Toyota
    T01
    Suzuki
    S01

    Tabel nama mobil
    Nama mobil
    Merk mobil
    Tingkatan harga
    New avansa
    Toyota
    C
    CRV
    Honda
    B
    Range rover
    Mitsibishi
    A
    Freed
    Honda
    B
    Yaris
    Toyota
    C
    SX4
    Suzuki
    C

    Dan Kita dapat bahwa tabel tersebut masih belum sempurna dikarenakan masih ada anomali data
     3.  Normalisasi Ketiga
         Pada normalisasi ini kita mencari solusi dengan cara mencari hubungan transitif dimana tabel non-key harus berhungan dengan tabel non-key lainnya. maka didapat :

         Tabel rental mobil

    Id penyewa
    Nama penyewa
    Id merk
    Tngkatan harga
    000111
    Rahmat
    T01
    C
    00012
    Retno
    H01
    B
    00013
    Seno
    M01
    A
    00014
    John
    H01
    B
    00015
    Yudi
    T01
    C
    00016
    Stiven
    S01
    C

    Tabel tingkatan harga

    Tingkatan harga
    Harga/hari
    A
    Rp. 500.000
    B
    Rp. 1.000.000
    C
    Rp. 1.500.000

    Tabel id merk

    Nama mobil
    Id merk
    Toyota
    T01
    Honda
    H01
    Daihatsu
    D01
    Mitsubishi
    M01
    Suzuki
    S01




    Tabel rental mobil

    Nama mobil
    Merk mobil
    Tingkatan harga
    New avansa
    Toyota
    C
    CRV
    Honda
    B
    Range rover
    Mitsibishi
    A
    Freed
    Honda
    B
    Yaris
    Toyota
    C
    SX4
    Suzuki
    C


    Dan kita dapat bahwa tabel ini sudah dapat digunakan dan diimplementasikan karena semua tabel sudah tersusun dan terelasi dengan baik.
         Ini adalah salah satu contoh normalisasi dengan tiga tahap, Sebenarnya masih ada lagi bentuk normalisasi yang lain, yi Normalisasi Boyce-Codd dan normalisasi keempat, hanya sj sangat jarang dipakai. Pada kebanyakan kasus, normalisasi hanya sampai ketiga. 

    3 comments: