SlideShare a Scribd company logo
1 of 15
BAB 7
                             NORMALISASI DATA


       Tujuan Intruksional Khusus :
       Setelah mempelajari bagian ini, mahasiswa akan
       dapat:   menjelaskan    pengertian   ketergantungan
       fungsional,   menjelaskan konsep dasar normalisasi
       data,   menjelaskan   tahapan   normalisasi   data,
       membedakan bentuk-bentuk normalisasi data.


Normalisasi data merupakan suatu proses untuk mendapatkan struktur tabel atau relasi
yang efisien dan bebas dari anomali, dan mengacu pada cara data item dikelompokkan ke
dalam struktur record. Anomali merupakan efek samping yang tidak diharapkan, yang
ditimbulkan dari suatu proses.
Terdapat tiga macam anomali, ialah:
a.   Anomali Peremajaan, yang terjadi apabila dilakukan pengubahan data yang
     mengakibatkan pengubahan data lain yang tidak mempunyai hubungan secara
     logika.
b.   Anomali Penyisipan, yang terjadi apabila dilakukan penambahan atau penyisipan
     data yang mengakibatkan perlunya penambahan atau penyisipan data lain yang tidak
     mempunyai hubungan secara logika.
c.   Anomali Penghapusan, yang terjadi apabila dilakukan penghapusan data yang
     mengakibatkan hilangnya data lain yang tidak mempunyai hubungan secara logika.
Sebagai contoh lihat relasi pada Gambar 7.1 berikut.




Normalisasi Data                                                                  77
PERWALIAN
              NIM          NAMA         NODOSEN           DOSEN
             20001      MARLINA           131        DRA DINA MSC
             20002      HARDIMIN          132        BADRUN SSI MSI
             20003      KOMARUDIN         133        DRS AMINUDIN
             20004      HUSNI             131        DRA DINA MSC
             20005      DANY              131        DRA DINA MSC
             20006      INDAH             132        BADRUN SSI MSI
                             Gambar 7.1 Relasi Perwalian

Jika dosen dengan nama “DRA DINA MSC” telah menyelesaikan pendidikan S3,
misalnya nama tersebut akan diubah menjadi “DRA DINA MSC PHD”. Maka data nama
dari dosen yang bersangkutan perlu di-update di semua baris yang ada nama tersebut.
Dengan demikian update tidak cukup dilakukan sekali, akan tetapi tergantung pada
berapa kali data yang akan di-update muncul pada relasi. Jika proses ini tidak dilakukan
lengkap akan menyebabkan inkonsistensi data. Pada kondisi ini muncul yang disebut:
anomali peremajaan.

Masih dengan menggunakan relasi pada Gambar 7.1, jika ada dosen baru yang belum
mendapatkan tugas perwalian, maka untuk menyisipkan data baru tersebut akan
menyebabkan terdapatnya baris atau record dengan data tidak lengkap (data mahasiswa
perwalian masih kosong). Kondisi ini yang disebut dengan: anomali penyisipan.

Selanjutnya diandaikan mahasiswa dengan nama=”KOMARUDIN” telah lulus, dan data
tersebut akan dihapus dari relasi yang ada. Penghapusan baris yang ditempati data
tersebut, akan menyebabkan data dosen yang terkait dengan mahasiswa tersebut yaitu
“DRS AMINUDIN” menjadi ikut terhapus. Hal ini disebabkan karena secara kebetulan
dosen tersebut hanya mempunyai satu mahasiswa di dalam perwaliannya. Hal ini yang
disebut dengan: anomali penghapusan.
Anomali dapat dieliminasi dengan mengganti format dari relasi, seringkali dengan
memecah relasi menjadi dua atau lebih relasi baru yang dibentuk dari relasi semula.
Pengubahan tersebut dilakukan didalam suatu proses yang disebut dengan proses
normalisasi. Untuk memahami proses normalisasi, perlu diketahui dua terminologi yang
terkait ialah: ketergantungan fungsional (functional dependencies) dan kunci.




Normalisasi Data                                                                     78
7.1. Ketergantungan Fungsional
Suatu ketergantungan fungsional ialah suatu relationship diantara atribut. Dengan
ketergantungan fungsional, jika diberikan nilai suatu atribut maka akan dapat diperoleh
atau dicari nilai dari atribut lain. Atau secara lebih formal ketergantungan fungsional
didefinisikan sebagai berikut:

    R suatu relasi, x dan y himpunan bagian dari himpunan atribut R.
    y mempunyai ketergantungan fungsional (KF) pada x, atau:

                    xy

    jika dan hanya jika setiap nilai x di dalam R mempunyai asosiasi dengan tepat satu
    nilai y di dalam R.

                    x disebut determinant, yaitu sebagai atribut penentu.

                    y disebut dependent, yaitu sebagai atribut yang bergantung.

Ketergantungan fungsional di atas dapat pula disajikan dengan menggunakan diagram
ketergantungan fungsional sebagaimana diberikan pada Gambar 7.2 berikut.


                                   x                  y

                    Gambar 7.2 Diagram Ketergantungan Fungsional


Contoh:

Jika diberikan relasi berikut:

               MHS (nim, nama, tgllahir, alamat, kodepos, kabupaten, propinsi)

Dari relasi di atas, maka:

               nim  nama
               nim  tgllahir
               nim  alamat
               nim  kodepos
               nim  kabupaten


Normalisasi Data                                                                    79
nim  propinsi
dan juga
               kodepos  kabupaten
               kodepos  propinsi

merupakan contoh-contoh yang memenuhi ketentuan ketergantungan fungsional.

Sedangkan

               tgllahir  alamat

tidak memenuhi ketentuan di dalam ketergantungan fungsional, karena pada kenyataan-
nya dapat terjadi lebih dari satu orang dengan tgllahir yang sama.

Ketergantungan fungsional yang lain:

a.   Ketergantungan fungsional, di mana antara dependent dan determinant saling
     tergantung.
     Contoh:
               fakultas  dekan
               dekan  fakultas
     maka

                   fakultas ↔ dekan

b.   Ketergantungan fungsional dengan lebih dari satu determinant.
     Contoh:
                   nim, tahun  dosenwali

     (dengan asumsi bahwa seorang mahasiswa dapat berganti dosen wali, misalnya
     karena dosen wali yang bersangkutan studi lanjut, dan sebagainya).

c.   Ketergantungan fungsional penuh, yaitu ketergantungan fungsional dengan
     determinant yang tidak mengandung atribut yang tidak diperlukan.
     Contoh:
                   nama, nim  alamat




Normalisasi Data                                                                80
bukan disebut ketergantungan fungsional penuh, karena ketergantungan fungsional
    di atas cukup ditulis dengan:

                   nim  alamat

    Bentuk terakhir di atas memenuhi bentuk ketergantungan fungsional penuh.

Dua atau lebih atribut adalah mutually independent jika tidak ada yang mempunyai
ketergantungan fungsional pada sembarang kombinasi yang lain, sehingga setiap atribut
dapat di-update secara bebas.

7.2. Kunci (Key)
Sebagaimana pernah dijelaskan kunci ialah suatu group dari satu atau lebih atribut yang
memberikan identifikasi unik pada suatu record atau baris dari relasi. Setiap relasi
mempunyai paling sedikit satu kunci. Seringkali kunci terdiri atas satu atribut.
Secara umum, suatu kunci ialah suatu atribut atau group atribut yang secara fungsional
menentukan atribut non-key.
                             NILAI
                          NIM        KODEMTK        NIL_HURUF
                         20001        MTK1              A
                         20001        MTK3              B
                         20002        MTK3              B
                         20003        MTK1              C
                         20003        MTK2              B
                         20004        MTK3              C
                         20005        MTK1              A
                         20006        MTK2              B
                         20006        MTK3              B
                                 Gambar 7.3 Relasi Nilai



Relasi di dalam Gambar 7.1 mempunyai kunci berupa nim, karena dengan nim dapat
dilakukan identifikasi unik untuk setiap record atau tuple yang ada dalam relasi tersebut.
Sedangkan untuk relasi di dalam Gambar 7.3, nim tidak dapat digunakan sebagai key
karena dimungkinkan seorang mahasiswa mengambil lebih dari satu mata kuliah. Dengan
demikian key untuk relasi NILAI tersebut ialah berupa group atribut yang terdiri atas dua
atribut (nim + kodemtk). Nilai untuk seorang mahasiswa (dengan menggunakan pengenal



Normalisasi Data                                                                       81
berupa nim), dapat ditemukan secara pasti dengan menggunakan key berupa (nim +
kodemtk).

Untuk membantu dalam menentukan key dari suatu relasi, perlu diketahui karakteristik
dan atau batasan-batasan data dari relasi tersebut di dalam realitanya. Dengan demikian
dapat ditentukan ketergantungan fungsional yang benar. Ketergantungan fungsional
tersebut dirumuskan bukan hanya dari satu atau dua baris data di dalam relasi yang
digunakan sebagai sampel, akan tetapi benar-benar sudah mengadopsi semua keadaan
data yang ada.

7.3. Bentuk Normal
Suatu relasi dikatakan di dalam bentuk normal, jika memenuhi sejumlah kriteria tertentu
yang sudah ditentukan.

Macam bentuk normal suatu relasi ialah:

a.   Unnormalized (bentuk belum normal).
b.   Bentuk Normal Pertama (First Normal Form/1 NF).
c.   Bentuk Normal Kedua (Second Normal Form/2 NF).
d.   Bentuk Normal Ketiga (Third Normal Form/3 NF).
e.   Boyce/Codd Normal Form (BCNF).
f.   Bentuk Normal Keempat (Fourth Normal Form/4 NF).
g.   Bentuk Normal Kelima (Fifth Normal Form/5 NF).

Proses normalisasi digunakan untuk pengubahan suatu relasi dari bentuk normal tertentu
ke sekumpulan relasi di dalam bentuk normal yang lebih diinginkan.

Proses normalisasi hendaknya reversible, dan non-loss decomposition. Reversible yaitu
dapat dilakukannya pengambilan output dari suatu proses dan mengubahnya kembali ke
input semula. Sedangkan non-loss decomposition yaitu tidak adanya informasi yang
hilang selama proses normalisasi.

7.3.1. Unnormalized




Normalisasi Data                                                                    82
Unnormalized ialah suatu relasi yang mengandung atribut dengan nilai non-atomic, dan
atau mempunyai group atribut berulang. Nilai atribut atomic ialah nilai suatu atribut yang
tidak dapat dibagi menjadi komponen-komponen yang lebih kecil. Sehingga nilai atribut
composite dan nilai atribut multivalued tidak diijinkan disini.
Berikut adalah contoh relasi yang mengandung atribut dengan nilai non-atomic, yang
disebabkan adanya atribut-atribut composite dan atribut multivalued.

                             nama_jalan                           kota       kode_pos
 KENDARAAN
   NOPOLISI      PEMILIK                  ALAMAT                              WARNA
    H3003YA    IR HARY D.      JL MELATI 234,PATI,33890                  MERAH
    H3004YB    PAMUJI          JL GARUDA V/2,TEGAL,33567                 HITAM,PUTIH
    H3005YA    NINA            JL DELIMA X/54,DEMAK,33452                BIRU,BIRU MUDA

                     Gambar 7.4 Atribut Composite dan Multivalued

Atribut alamat merupakan atribut composite, karena dengan melihat nilai atribut tersebut
maka atribut alamat dapat dipecah menjadi tiga atribut, yaitu: nama_jalan, kota, dan
kode_pos (lihat Gambar 7.4). Masing-masing atribut yang baru tersebut mempunyai nilai
yang atomic (tidak dapat dipecah lagi menjadi komponen yang lebih kecil). Atribut
warna merupakan atribut mutivalued, karena isi didalamnya dapat tidak tunggal. Sebagai
contoh: (HITAM, PUTIH) dan (BIRU, BIRU MUDA).
Misal diberikan suatu formulir dengan format sebagaimana diberikan pada Gambar 7.5.
Karena pada kenyataannya seorang mahasiswa didalam satu semester dapat mengambil
lebih dari satu mata kuliah, maka data pengambilan mata kuliah dari seorang mahasiswa
dengan mahasiswa lainnya dapat berbeda-beda. Sebagai akibatnya jumlah baris data di
dalam relasi yang digunakan untuk menyimpan data pengambilan mata kuliah dapat tidak
sama. Atau dikatakan terjadi group atribut berulang.
Perhatikan isi data dari formulir isian rencana studi pada Gambar 7.5. Asumsi yang
digunakan ialah:

    •    Setiap mahasiswa dapat mengambil lebih dari satu mata kuliah.
    •    Setiap mata kuliah diampu oleh seorang dosen.
    •    Setiap dosen hanya mengampu satu mata kuliah.
    •    Setiap dosen menggunakan ruang yang sama dalam memberikan kuliahnya.


Normalisasi Data                                                                          83
FORMULIR ISIAN RENCANA STUDI

                               NAMA   : AMIR
                               NIM    : 10

          KODE      MATA KULIAH         DOSEN                 RUANG     NILAI
          -----     -----------         ----------            -----     -----
          MTK1      STATISTIK           DRS JANUAR, MSI       R101        B
          MTK2      BHS INGGRIS         DRA ANDINI            R102        A



                          Gambar 7.5 Formulir Isian Rencana Studi

Kemudian data di atas, ditambah dengan data dari mahasiswa lain disimpan dalam bentuk
relasi sebagai berikut:

   RENC_STUDI
    NIM      NAMA    KODEMTK        MTK                 DOSEN          RUANG    NILAI
                     MTK1,      STATISTIK,       DRS   JANUAR MSI,    R101,     B,
     10      AMIR
                     MTK2       BHS INGGRIS      DRA   ANDINI         R102      A
                     MTK1,      STATISTIK,       DRS   JANUAR MSI,    R101,     A,
     11     PUTRI
                     MTK4       FISIKA           DRS   HERY MSI       R201      B
     12      ANDI    MTK2       BHS INGGRIS      DRA   ANDINI         R102      A




                          Gambar 7.6 Contoh Bentuk Unnormalized

Relasi pada Gambar 7.6 merupakan relasi dengan bentuk unnormalized, karena di
dalamnya terdapat group atribut berulang. Relasi pada Gambar 7.6 dapat disajikan
dengan menggunakan schema relasi sebagai berikut:

          RENC_STUDI(nim,nama,{kodemtk,mtk,dosen,ruang,nilai})

Atribut-atribut yang ditulis di dalam tanda kurung dengan notasi {} merupakan group
atribut berulang.

Dari relasi bentuk unnormalized di atas, terlihat:




Normalisasi Data                                                                        84
•     Berisi group atribut berulang, yaitu untuk atribut kodemtk, mtk, dosen, ruang
          dan nilai.

    •     Mengandung data redundant, yaitu untuk atribut mtk, dosen, dan ruang. Hal ini
          disebabkan karena ketiga atribut tersebut isinya akan diketahui secara otomatis
          jika diketahuinya isi kodemtk (dengan asumsi setiap mata kuliah diampu oleh
          satu orang dosen dan diberikan di dalam ruang yang tidak berubah-ubah).
Untuk menghilangkan group atribut berulang di atas, maka dilakukan proses normalisasi
untuk mendapatkan relasi yang memenuhi 1NF.

7.3.2. Bentuk Normal Kesatu (1NF)
Suatu relasi di dalam 1NF jika dan hanya jika semua domain yang mendasari hanya berisi
nilai scalar, dengan demikian tidak mengandung group berulang.
Sebagai contoh lihat kembali relasi pada Gambar 7.6. Untuk menyusunnya menjadi
relasi dalam 1NF, maka group berulang yang ada harus dihilangkan.
Caranya ialah dengan menuliskan setiap pengambilan mata kuliah secara sendiri-sendiri,
dan sebagai konsekwensinya maka jumlah tuple atau baris dari relasi pada Gambar 7.6
menjadi bertambah. Sedangkan jumlah atributnya tidak mengalami perubahan.

  RENC_STUDI
    NIM      NAMA      KODEMTK       MTK              DOSEN          UANG     NILAI
     10     AMIR         MTK1    STATISTIK     DRS   JANUAR MSI      R101       B
     10     AMIR         MTK2    BHS INGGRIS   DRA   ANDINI          R102       A
     11     PUTRI        MTK1    STATISTIK     DRS   JANUAR MSI      R101       A
     11     PUTRI        MTK4    FISIKA        DRS   HERY MSI        R201       B
     12     ANDI         MTK2    BHS INGGRIS   DRA   ANDINI          R102       A




                      Gambar 7.7 Contoh Bentuk Normal Kesatu
Dari bentuk 1NF di atas, maka:

    •     Relasi hanya berisi nilai elementer (tunggal) pada interseksi setiap baris dan
          kolom, dan tidak mengandung group berulang.




Normalisasi Data                                                                      85
•   Masih menimbulkan anomali di dalam penyisipan, penghapusan, dan
        peremajaan data (lihat kembali penjelasan pada Sub Bab 7.1).

    •   Sebagai kunci utama ialah (nim + kodemtk).

    •   Atribut nilai bergantung penuh pada kunci utama (nim + kode_mtk).

    •   Atribut yang lain bergantung parsial pada kunci utama.

Dengan masih adanya anomali di dalam relasi pada Gambar 7.7, maka untuk
menghilangkan anomali yang masih ada, relasi perlu ditingkatkan lagi bentuknya ke
2NF.

7.3.3. Bentuk Normal Kedua (2NF)
Suatu relasi di dalam 2NF jika dan hanya jika:

    •   Memenuhi 1NF
    •   Setiap atribut bukan kunci bergantung penuh secara fungsional pada kunci
        utama.

Atribut bukan kunci ialah atribut yang tidak membentuk bagian kunci utama.

Contoh: Jika relasi pada Gambar 7.7 (sudah memenuhi 1NF), ditingkatkan normalisasi-
nya kebentuk yang lebih tinggi (2NF), maka relasi tersebut perlu dipecah menjadi tiga
relasi, misalnya diberi nama: MHS, KRS, dan TBL_MTK.




        MHS                                                  KRS
            NIM         NAMA                           NIM       KODEMTK     NILAI
             10      AMIR                               10         MTK1        B
             11      PUTRI                              10         MTK2        A
             12      ANDI                               11         MTK1        A
                                                        11         MTK4        B



Normalisasi Data                                                                     86
12        MTK2          A




             TBL_MTK
             KODEMTK          MTK               DOSEN            RUANG
               MTK1      STATISTIK         DRA JANUAR MSI         R101
               MTK2      BHS INGGRIS       DRA ANDINI             R102
               MTK4      FISIKA            DRS HERY               R201
                                           MSI




                       Gambar 7.8 Bentuk Normal Kedua (2NF)

Ketiga relasi, yaitu: MHS, KRS, TBL_MTK sudah memenuhi 2NF karena sudah tidak
mengandung ketergantungan parsial. Relasi TBL_MTK masih mengandung ketergan-
tungan transitif, yaitu ruang mempunyai ketergantungan fungsional dengan kodemtk
(sebagai kunci primer), dan sekaligus juga dengan atribut dosen (yang merupakan atribut
non-key).

7.3.4. Bentuk Normal Ketiga (3NF)
Suatu relasi di dalam 3NF jika dan hanya jika:

    •    Memenuhi 2NF
    •    Setiap atribut bukan kunci tergantung non-transitive pada kunci utama.

Atribut bukan kunci merupakan sembarang atribut yang tidak berpartisipasi di dalam
kunci utama dari relasi terkait. Sedangkan ketergantungan transitive terjadi apabila satu
atribut bukan kunci tergantung pada satu atau lebih atribut bukan kunci yang lain.




             Kunci Utama                    A                            B




Normalisasi Data                                                                      87
Gambar 7.9 Ketergantungan Transitive
Dari gambar di atas, B mempunyai ketergantungan fungsional pada Kunci Utama, dan
juga pada A. Non-transitive memberikan implikasi tidak adanya saling ketergantungan.

Contoh:

Relasi di dalam Gambar 7.8 (yang masih mengandung ketergantungan transitive) akan
diubah agar mempunyai bentuk normal yang lebih tinggi yaitu 3NF.

Untuk itu maka relasi TBL_MTK dipecah menjadi dua, yaitu AMPU dan LOKASI,
sehingga relasi yang dihasilkan ialah sebagai berikut.

           MHS                                                 KRS
              NIM         NAMA                           NIM      KODEMTK     NILAI
               10      AMIR                               10        MTK1        B
               11      PUTRI                              10        MTK2        A
               12      ANDI                               11        MTK1        A
                                                          11        MTK4        B
                                                          12        MTK2        A




 AMPU                                                                LOKASI
   KODEMTK            MTK              DOSEN                   DOSEN           RUANG
     MTK1        STATISTIK        DRS JANUAR MSI          DRS JANUAR MSI        R101
     MTK2        BHS INGGRIS      DRA ANDINI              DRA ANDINI            R102
     MTK4        FISIKA           DRS HERY MSI            DRS HERY MSI          R104




                      Gambar 7.10 Bentuk Normal Ketiga (3NF)
Dari relasi yang dihasilkan terakhir di atas, maka:

    •      Tidak ada ketergantungan transitive.
    •      Setiap atribut bukan kunci bergantung penuh pada kunci utama.

Sampai dengan tahapan terakhir ini (3NF), diperoleh struktur relasi yang bebas dari
anomali.
7.4. Bentuk-bentuk Normal
Relasi di dalam bentuk normal ketiga (3NF) sudah cukup untuk banyak perancangan
basis data praktis. Akan tetapi 3NF tidak menjamin semua anomali telah dihilangkan
(McFadden, 1988). Sehingga untuk menghilangkan anomali yang masih ada diperlukan


Normalisasi Data                                                                       88
penambahan proses normalisasi yang lebih tinggi. Pada prakteknya sangat sedikit orang
perlu memikirkan penormalisasian di atas bentuk normal ketiga (Whitehorn, 2003).

Bentuk-bentuk normal yang lebih tinggi dari 3NF antara lain ialah:

a. Boyce-Codd Normal Form (BCNF)
    Jika suatu relasi mempunyai lebih dari satu kunci kandidat yang overlapping,
    terdapat kemungkinan masih dijumpainya anomali (meskipun relasi sudah
    memenuhi 3NF). R. F. Boyce dan E. F. Codd mengusulkan pemecahannya dengan
    mengenalkan suatu bentuk normalisasi yang didefinisikan lebih kuat dari 3NF.
    Bentuk tersebut yang kemudian disebut dengan nama Boyce Codd Normal Form
    (BCNF). Suatu relasi di dalam BCNF jika dan hanya jika, hanya determinant yang
    menjadi kunci kandidat.
b. Bentuk Normal Keempat
    Meskipun suatu relasi sudah memenuhi BCNF, terdapat kemungkinan relasi tersebut
    masih menghasilkan anomali peremajaan. Untuk menghilangkan anomali tersebut
    perlu dilakukan proses normalisasi untuk mendapatkan 4NF. Di dalam membentuk
    relasi menjadi 4NF, akan terkait dengan suatu bentuk hubungan antar atribut yang
    disebut dengan: Multi Valued Dependence (MVD).

    Ambil R suatu relasi, dan A, B, C merupakan bagian berubah-ubah dari R.

           B dikatakan multi dependent pada A, atau

                          A  B

    jika dan hanya jika himpunan nilai B sesuai dengan pasangan (nilai A, nilai C) di
    dalam R, hanya bergantung pada nilai A dan bebas dari nilai C.

    Suatu relasi R di dalam 4NF jika dan hanya jika, kapan saja terdapat himpunan
    bagian A dan B dari atribut R sedemikian sehingga:

                   MVD A  B memenuhi,

    maka semua atribut juga bergantung fungsional pada A.

c. Bentuk Normal Kelima



Normalisasi Data                                                                   89
Sebelum bicara tentang relasi dengan bentuk normal yang lebih tinggi dari 4NF,
    perlu dikenalkan dahulu tentang Joint-Dependency (JD).

    Joint Dependency (JD):

    Ambil R suatu relasi, dan A, B, .., Z himpunan bagian berubah-ubah dari himpunan
    atribut R.

    R memenuhi joint dependence, jika:

                   * (A, B, .., Z)

    jika dan hanya jika R sama dengan joint dari projection dari A, B, ..., Z.

    Suatu relasi di dalam 5NF atau disebut dengan Projection-Joint Normal Form
    (PJ/NF) jika dan hanya jika setiap JD di dalam R dinyatakan tidak langsung oleh
    kandidat key dari R.

Pembahasan lebih rinci mengenai BCNF, 4NF, dan 5NF dapat dilihat pada Date (1995),
McFadden (1988), Kroenke (1990), dan Elmasri (1994).




7.5. SOAL-SOAL LATIHAN
1. Berikan alasan anda mengapa suata basis data harus berada pada kondisi normal !



Normalisasi Data                                                                     90
2. Kondisi apa saja yang harus dipenuhi, bahwa suatu basis data di katakan memenuhi
     normalisasi !
3. Berikan alasan anda mengapa bentuk normal ke-4 (4NF) dan normal ke-5 (5NF)
     dalam prakteknya tidak dilakukan !
4. Diberikan suatu data sebagai berikut :
No    Class         Time          Day        Teacher       Start   Room Remark
1     B.1I       17.00-18.30   Tuesday      Ms. Avi     19/08/2004 A202 Run
                               Thursday     Ms. Oki
2      B.5I      15.30-17.00   Tuesday      Ms. Beta    20/08/2004   A302   Run
                               Friday       Ms. Susi
3      B.1J      17.00-18.30   Monday       Ms. Galuh   23/08/2004 A301     Run
                               Thursday     Ms. Avi
4      B.2J      17.00-18.30   Tuesday      Mr. Aris    24/08/2004 A102     Run
                               Thursday     Ms. Beta
5      B.3J      15.30-17.00   Tuesday      Mr. Aris    05/08/2004 A103     Run
                               Thursday     Ms. Oki
6      B.2F      15.30-17.00   Monday       Ms. Galuh   19/08/2004 A203     Run
                               Thursday     Mr. Hery
7      B.1I      18.30-20.00   Wednesday    Ms. Ria     04/08/2004 A203     Pending
                         Friday       Ms. Galuh
      Dari data yang diberikan di atas belum memenuhi kondisi normal, maka
      tentukanlah proses normalisasi untuk menghasilkan data yang memenuhi kondisi
      normal !




Normalisasi Data                                                                  91

More Related Content

What's hot

Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Korelasi dan regresi linier
Korelasi dan regresi linierKorelasi dan regresi linier
Korelasi dan regresi linierRiswan
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekLaili Wahyunita
 
Contoh Soal Huffman Code
Contoh Soal Huffman CodeContoh Soal Huffman Code
Contoh Soal Huffman CodeAlbertus H.
 
Normalisasi database 2014
Normalisasi database 2014Normalisasi database 2014
Normalisasi database 2014Ali Sadiyoko
 
Pengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQLPengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQLI Putu Hariyadi
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorialSiti Khotijah
 
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
Pertemuan 6   Penyederhanaan RL-Karnaugh MapPertemuan 6   Penyederhanaan RL-Karnaugh Map
Pertemuan 6 Penyederhanaan RL-Karnaugh Mapahmad haidaroh
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyZaenal Khayat
 
Contoh store procedure dan function
Contoh store procedure dan functionContoh store procedure dan function
Contoh store procedure dan functionErwin Setiawan
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOahmad haidaroh
 
Makalah komunikasi data
Makalah komunikasi dataMakalah komunikasi data
Makalah komunikasi dataYudha Pangestu
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKMiftahul Muttaqin
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)Kelinci Coklat
 
Normalisasi data - Basis Data
Normalisasi data - Basis DataNormalisasi data - Basis Data
Normalisasi data - Basis DataAyu_lestari
 
Tata Kalimat Bahasa Indonesia yang Efektif
Tata Kalimat Bahasa Indonesia yang Efektif Tata Kalimat Bahasa Indonesia yang Efektif
Tata Kalimat Bahasa Indonesia yang Efektif pjj_kemenkes
 

What's hot (20)

Materi Aljabar linear
Materi Aljabar linearMateri Aljabar linear
Materi Aljabar linear
 
6. interpolasi polynomial newton
6. interpolasi polynomial newton6. interpolasi polynomial newton
6. interpolasi polynomial newton
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Korelasi dan regresi linier
Korelasi dan regresi linierKorelasi dan regresi linier
Korelasi dan regresi linier
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
 
Contoh Soal Huffman Code
Contoh Soal Huffman CodeContoh Soal Huffman Code
Contoh Soal Huffman Code
 
Normalisasi database 2014
Normalisasi database 2014Normalisasi database 2014
Normalisasi database 2014
 
Pengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQLPengolahan Database Dengan MySQL
Pengolahan Database Dengan MySQL
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
Pertemuan 6   Penyederhanaan RL-Karnaugh MapPertemuan 6   Penyederhanaan RL-Karnaugh Map
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
 
Contoh store procedure dan function
Contoh store procedure dan functionContoh store procedure dan function
Contoh store procedure dan function
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
 
Makalah komunikasi data
Makalah komunikasi dataMakalah komunikasi data
Makalah komunikasi data
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
Sequence Diagram
Sequence DiagramSequence Diagram
Sequence Diagram
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
Perencanaan manajemen proyek
Perencanaan manajemen proyekPerencanaan manajemen proyek
Perencanaan manajemen proyek
 
Normalisasi data - Basis Data
Normalisasi data - Basis DataNormalisasi data - Basis Data
Normalisasi data - Basis Data
 
Tata Kalimat Bahasa Indonesia yang Efektif
Tata Kalimat Bahasa Indonesia yang Efektif Tata Kalimat Bahasa Indonesia yang Efektif
Tata Kalimat Bahasa Indonesia yang Efektif
 

Viewers also liked

T3 – Query Lanjutan [1]
T3 – Query Lanjutan [1]T3 – Query Lanjutan [1]
T3 – Query Lanjutan [1]Siska Amelia
 
Sistem basis data bram dermawan
Sistem basis data bram dermawan Sistem basis data bram dermawan
Sistem basis data bram dermawan Bram Dermawan
 
Bab 4. Model Entity Relationship
Bab 4. Model Entity RelationshipBab 4. Model Entity Relationship
Bab 4. Model Entity RelationshipZaenal Abidin
 
Materi Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan NormalisasiMateri Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan NormalisasiDerina Ellya R
 
Bab 1 Konsep Dasar Basis Data
Bab 1 Konsep Dasar Basis DataBab 1 Konsep Dasar Basis Data
Bab 1 Konsep Dasar Basis DataZaenal Abidin
 
iOS 7 Concept: Welcome to the future of the iPhone
iOS 7 Concept: Welcome to the future of the iPhoneiOS 7 Concept: Welcome to the future of the iPhone
iOS 7 Concept: Welcome to the future of the iPhoneSimply Zesty Ltd
 

Viewers also liked (9)

T3 – Query Lanjutan [1]
T3 – Query Lanjutan [1]T3 – Query Lanjutan [1]
T3 – Query Lanjutan [1]
 
Sistem basis data bram dermawan
Sistem basis data bram dermawan Sistem basis data bram dermawan
Sistem basis data bram dermawan
 
Bab 4. Model Entity Relationship
Bab 4. Model Entity RelationshipBab 4. Model Entity Relationship
Bab 4. Model Entity Relationship
 
2 model basis data
2 model basis data2 model basis data
2 model basis data
 
Bab 6. SQL
Bab 6. SQLBab 6. SQL
Bab 6. SQL
 
Basisdata - normalisasi
Basisdata  - normalisasiBasisdata  - normalisasi
Basisdata - normalisasi
 
Materi Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan NormalisasiMateri Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan Normalisasi
 
Bab 1 Konsep Dasar Basis Data
Bab 1 Konsep Dasar Basis DataBab 1 Konsep Dasar Basis Data
Bab 1 Konsep Dasar Basis Data
 
iOS 7 Concept: Welcome to the future of the iPhone
iOS 7 Concept: Welcome to the future of the iPhoneiOS 7 Concept: Welcome to the future of the iPhone
iOS 7 Concept: Welcome to the future of the iPhone
 

Similar to Normalisasi Data Bab 7

Tugas pemanasan prak basis data
Tugas pemanasan prak basis dataTugas pemanasan prak basis data
Tugas pemanasan prak basis datakarlossare1
 
Normalisasi Data - Sistem Basis Data 1
Normalisasi Data - Sistem Basis Data 1Normalisasi Data - Sistem Basis Data 1
Normalisasi Data - Sistem Basis Data 1Aditya Gunawan
 
Lingkungan basis data (2)
Lingkungan basis data (2)Lingkungan basis data (2)
Lingkungan basis data (2)Arib Herzi
 
Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)Devi Apriansyah
 
Basis Data, Ch. 3 - Relational Model
Basis Data, Ch. 3 - Relational ModelBasis Data, Ch. 3 - Relational Model
Basis Data, Ch. 3 - Relational ModelRatzman III
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modulDenny Safardan
 
konsep sistem basis data
konsep sistem basis datakonsep sistem basis data
konsep sistem basis datafenty ema
 
Tugas ibuk sriwinar
Tugas ibuk sriwinarTugas ibuk sriwinar
Tugas ibuk sriwinarzulfiani
 
Pertemuan%203.pdf
Pertemuan%203.pdfPertemuan%203.pdf
Pertemuan%203.pdfVyaGlow
 
ARSITEKTUR MODEL BASIS DATA
ARSITEKTUR MODEL BASIS DATAARSITEKTUR MODEL BASIS DATA
ARSITEKTUR MODEL BASIS DATAEDIS BLOG
 
admnistrasi basis data infor kelas x smk
admnistrasi basis data infor kelas x  smkadmnistrasi basis data infor kelas x  smk
admnistrasi basis data infor kelas x smkhsdfh
 
SIM 14, Michael Elyon, Prof. Dr. Hapzi, MM, database basis data , universitas...
SIM 14, Michael Elyon, Prof. Dr. Hapzi, MM, database basis data , universitas...SIM 14, Michael Elyon, Prof. Dr. Hapzi, MM, database basis data , universitas...
SIM 14, Michael Elyon, Prof. Dr. Hapzi, MM, database basis data , universitas...Michael Elyon
 
SISTEM BASIS DATA2
SISTEM BASIS DATA2SISTEM BASIS DATA2
SISTEM BASIS DATA2Ayu_lestari
 
Bab ii isolehfix 1
Bab ii isolehfix 1Bab ii isolehfix 1
Bab ii isolehfix 1Ody Widodo
 

Similar to Normalisasi Data Bab 7 (20)

Kuliah 6 7
Kuliah 6 7Kuliah 6 7
Kuliah 6 7
 
Tugas pemanasan prak basis data
Tugas pemanasan prak basis dataTugas pemanasan prak basis data
Tugas pemanasan prak basis data
 
Normalisasi Data - Sistem Basis Data 1
Normalisasi Data - Sistem Basis Data 1Normalisasi Data - Sistem Basis Data 1
Normalisasi Data - Sistem Basis Data 1
 
Pertemuan 5
Pertemuan 5Pertemuan 5
Pertemuan 5
 
Normalisasi Database
Normalisasi DatabaseNormalisasi Database
Normalisasi Database
 
Lingkungan basis data (2)
Lingkungan basis data (2)Lingkungan basis data (2)
Lingkungan basis data (2)
 
Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)Laporan praktikum modul 5 (normalisasi)
Laporan praktikum modul 5 (normalisasi)
 
Basis Data, Ch. 3 - Relational Model
Basis Data, Ch. 3 - Relational ModelBasis Data, Ch. 3 - Relational Model
Basis Data, Ch. 3 - Relational Model
 
Normalisasi
NormalisasiNormalisasi
Normalisasi
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modul
 
konsep sistem basis data
konsep sistem basis datakonsep sistem basis data
konsep sistem basis data
 
Tugas ibuk sriwinar
Tugas ibuk sriwinarTugas ibuk sriwinar
Tugas ibuk sriwinar
 
Pertemuan%203.pdf
Pertemuan%203.pdfPertemuan%203.pdf
Pertemuan%203.pdf
 
ARSITEKTUR MODEL BASIS DATA
ARSITEKTUR MODEL BASIS DATAARSITEKTUR MODEL BASIS DATA
ARSITEKTUR MODEL BASIS DATA
 
admnistrasi basis data infor kelas x smk
admnistrasi basis data infor kelas x  smkadmnistrasi basis data infor kelas x  smk
admnistrasi basis data infor kelas x smk
 
Arsitektur Sistem Basis Data
Arsitektur Sistem Basis DataArsitektur Sistem Basis Data
Arsitektur Sistem Basis Data
 
SIM 14, Michael Elyon, Prof. Dr. Hapzi, MM, database basis data , universitas...
SIM 14, Michael Elyon, Prof. Dr. Hapzi, MM, database basis data , universitas...SIM 14, Michael Elyon, Prof. Dr. Hapzi, MM, database basis data , universitas...
SIM 14, Michael Elyon, Prof. Dr. Hapzi, MM, database basis data , universitas...
 
SISTEM BASIS DATA2
SISTEM BASIS DATA2SISTEM BASIS DATA2
SISTEM BASIS DATA2
 
Bab ii isolehfix 1
Bab ii isolehfix 1Bab ii isolehfix 1
Bab ii isolehfix 1
 
Jumpa 9
Jumpa 9Jumpa 9
Jumpa 9
 

More from Zaenal Abidin (20)

Bab 4
Bab 4Bab 4
Bab 4
 
Bab 5
Bab 5Bab 5
Bab 5
 
Normalisasi oht
Normalisasi ohtNormalisasi oht
Normalisasi oht
 
Bab 6 pendukung
Bab 6 pendukungBab 6 pendukung
Bab 6 pendukung
 
Bab 6
Bab 6Bab 6
Bab 6
 
Bab 4 latihan erd ke skema relasional
Bab 4 latihan erd ke skema relasionalBab 4 latihan erd ke skema relasional
Bab 4 latihan erd ke skema relasional
 
Bab 3
Bab 3Bab 3
Bab 3
 
Bab 2
Bab 2Bab 2
Bab 2
 
Basisdata sql
Basisdata   sqlBasisdata   sql
Basisdata sql
 
Modul praktikum database rdbms
Modul praktikum database rdbmsModul praktikum database rdbms
Modul praktikum database rdbms
 
Modul praktikum database programing
Modul praktikum database programingModul praktikum database programing
Modul praktikum database programing
 
Bab. 9
Bab. 9Bab. 9
Bab. 9
 
Bab. 5
Bab. 5Bab. 5
Bab. 5
 
Bab. 4
Bab. 4Bab. 4
Bab. 4
 
Bab. 13
Bab. 13Bab. 13
Bab. 13
 
Bab. 12
Bab. 12Bab. 12
Bab. 12
 
Bab. 11
Bab. 11Bab. 11
Bab. 11
 
Bab. 10
Bab. 10Bab. 10
Bab. 10
 
Bab. 8
Bab. 8Bab. 8
Bab. 8
 
Bab. 7
Bab. 7Bab. 7
Bab. 7
 

Normalisasi Data Bab 7

  • 1. BAB 7 NORMALISASI DATA Tujuan Intruksional Khusus : Setelah mempelajari bagian ini, mahasiswa akan dapat: menjelaskan pengertian ketergantungan fungsional, menjelaskan konsep dasar normalisasi data, menjelaskan tahapan normalisasi data, membedakan bentuk-bentuk normalisasi data. Normalisasi data merupakan suatu proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomali, dan mengacu pada cara data item dikelompokkan ke dalam struktur record. Anomali merupakan efek samping yang tidak diharapkan, yang ditimbulkan dari suatu proses. Terdapat tiga macam anomali, ialah: a. Anomali Peremajaan, yang terjadi apabila dilakukan pengubahan data yang mengakibatkan pengubahan data lain yang tidak mempunyai hubungan secara logika. b. Anomali Penyisipan, yang terjadi apabila dilakukan penambahan atau penyisipan data yang mengakibatkan perlunya penambahan atau penyisipan data lain yang tidak mempunyai hubungan secara logika. c. Anomali Penghapusan, yang terjadi apabila dilakukan penghapusan data yang mengakibatkan hilangnya data lain yang tidak mempunyai hubungan secara logika. Sebagai contoh lihat relasi pada Gambar 7.1 berikut. Normalisasi Data 77
  • 2. PERWALIAN NIM NAMA NODOSEN DOSEN 20001 MARLINA 131 DRA DINA MSC 20002 HARDIMIN 132 BADRUN SSI MSI 20003 KOMARUDIN 133 DRS AMINUDIN 20004 HUSNI 131 DRA DINA MSC 20005 DANY 131 DRA DINA MSC 20006 INDAH 132 BADRUN SSI MSI Gambar 7.1 Relasi Perwalian Jika dosen dengan nama “DRA DINA MSC” telah menyelesaikan pendidikan S3, misalnya nama tersebut akan diubah menjadi “DRA DINA MSC PHD”. Maka data nama dari dosen yang bersangkutan perlu di-update di semua baris yang ada nama tersebut. Dengan demikian update tidak cukup dilakukan sekali, akan tetapi tergantung pada berapa kali data yang akan di-update muncul pada relasi. Jika proses ini tidak dilakukan lengkap akan menyebabkan inkonsistensi data. Pada kondisi ini muncul yang disebut: anomali peremajaan. Masih dengan menggunakan relasi pada Gambar 7.1, jika ada dosen baru yang belum mendapatkan tugas perwalian, maka untuk menyisipkan data baru tersebut akan menyebabkan terdapatnya baris atau record dengan data tidak lengkap (data mahasiswa perwalian masih kosong). Kondisi ini yang disebut dengan: anomali penyisipan. Selanjutnya diandaikan mahasiswa dengan nama=”KOMARUDIN” telah lulus, dan data tersebut akan dihapus dari relasi yang ada. Penghapusan baris yang ditempati data tersebut, akan menyebabkan data dosen yang terkait dengan mahasiswa tersebut yaitu “DRS AMINUDIN” menjadi ikut terhapus. Hal ini disebabkan karena secara kebetulan dosen tersebut hanya mempunyai satu mahasiswa di dalam perwaliannya. Hal ini yang disebut dengan: anomali penghapusan. Anomali dapat dieliminasi dengan mengganti format dari relasi, seringkali dengan memecah relasi menjadi dua atau lebih relasi baru yang dibentuk dari relasi semula. Pengubahan tersebut dilakukan didalam suatu proses yang disebut dengan proses normalisasi. Untuk memahami proses normalisasi, perlu diketahui dua terminologi yang terkait ialah: ketergantungan fungsional (functional dependencies) dan kunci. Normalisasi Data 78
  • 3. 7.1. Ketergantungan Fungsional Suatu ketergantungan fungsional ialah suatu relationship diantara atribut. Dengan ketergantungan fungsional, jika diberikan nilai suatu atribut maka akan dapat diperoleh atau dicari nilai dari atribut lain. Atau secara lebih formal ketergantungan fungsional didefinisikan sebagai berikut: R suatu relasi, x dan y himpunan bagian dari himpunan atribut R. y mempunyai ketergantungan fungsional (KF) pada x, atau: xy jika dan hanya jika setiap nilai x di dalam R mempunyai asosiasi dengan tepat satu nilai y di dalam R. x disebut determinant, yaitu sebagai atribut penentu. y disebut dependent, yaitu sebagai atribut yang bergantung. Ketergantungan fungsional di atas dapat pula disajikan dengan menggunakan diagram ketergantungan fungsional sebagaimana diberikan pada Gambar 7.2 berikut. x y Gambar 7.2 Diagram Ketergantungan Fungsional Contoh: Jika diberikan relasi berikut: MHS (nim, nama, tgllahir, alamat, kodepos, kabupaten, propinsi) Dari relasi di atas, maka: nim  nama nim  tgllahir nim  alamat nim  kodepos nim  kabupaten Normalisasi Data 79
  • 4. nim  propinsi dan juga kodepos  kabupaten kodepos  propinsi merupakan contoh-contoh yang memenuhi ketentuan ketergantungan fungsional. Sedangkan tgllahir  alamat tidak memenuhi ketentuan di dalam ketergantungan fungsional, karena pada kenyataan- nya dapat terjadi lebih dari satu orang dengan tgllahir yang sama. Ketergantungan fungsional yang lain: a. Ketergantungan fungsional, di mana antara dependent dan determinant saling tergantung. Contoh: fakultas  dekan dekan  fakultas maka fakultas ↔ dekan b. Ketergantungan fungsional dengan lebih dari satu determinant. Contoh: nim, tahun  dosenwali (dengan asumsi bahwa seorang mahasiswa dapat berganti dosen wali, misalnya karena dosen wali yang bersangkutan studi lanjut, dan sebagainya). c. Ketergantungan fungsional penuh, yaitu ketergantungan fungsional dengan determinant yang tidak mengandung atribut yang tidak diperlukan. Contoh: nama, nim  alamat Normalisasi Data 80
  • 5. bukan disebut ketergantungan fungsional penuh, karena ketergantungan fungsional di atas cukup ditulis dengan: nim  alamat Bentuk terakhir di atas memenuhi bentuk ketergantungan fungsional penuh. Dua atau lebih atribut adalah mutually independent jika tidak ada yang mempunyai ketergantungan fungsional pada sembarang kombinasi yang lain, sehingga setiap atribut dapat di-update secara bebas. 7.2. Kunci (Key) Sebagaimana pernah dijelaskan kunci ialah suatu group dari satu atau lebih atribut yang memberikan identifikasi unik pada suatu record atau baris dari relasi. Setiap relasi mempunyai paling sedikit satu kunci. Seringkali kunci terdiri atas satu atribut. Secara umum, suatu kunci ialah suatu atribut atau group atribut yang secara fungsional menentukan atribut non-key. NILAI NIM KODEMTK NIL_HURUF 20001 MTK1 A 20001 MTK3 B 20002 MTK3 B 20003 MTK1 C 20003 MTK2 B 20004 MTK3 C 20005 MTK1 A 20006 MTK2 B 20006 MTK3 B Gambar 7.3 Relasi Nilai Relasi di dalam Gambar 7.1 mempunyai kunci berupa nim, karena dengan nim dapat dilakukan identifikasi unik untuk setiap record atau tuple yang ada dalam relasi tersebut. Sedangkan untuk relasi di dalam Gambar 7.3, nim tidak dapat digunakan sebagai key karena dimungkinkan seorang mahasiswa mengambil lebih dari satu mata kuliah. Dengan demikian key untuk relasi NILAI tersebut ialah berupa group atribut yang terdiri atas dua atribut (nim + kodemtk). Nilai untuk seorang mahasiswa (dengan menggunakan pengenal Normalisasi Data 81
  • 6. berupa nim), dapat ditemukan secara pasti dengan menggunakan key berupa (nim + kodemtk). Untuk membantu dalam menentukan key dari suatu relasi, perlu diketahui karakteristik dan atau batasan-batasan data dari relasi tersebut di dalam realitanya. Dengan demikian dapat ditentukan ketergantungan fungsional yang benar. Ketergantungan fungsional tersebut dirumuskan bukan hanya dari satu atau dua baris data di dalam relasi yang digunakan sebagai sampel, akan tetapi benar-benar sudah mengadopsi semua keadaan data yang ada. 7.3. Bentuk Normal Suatu relasi dikatakan di dalam bentuk normal, jika memenuhi sejumlah kriteria tertentu yang sudah ditentukan. Macam bentuk normal suatu relasi ialah: a. Unnormalized (bentuk belum normal). b. Bentuk Normal Pertama (First Normal Form/1 NF). c. Bentuk Normal Kedua (Second Normal Form/2 NF). d. Bentuk Normal Ketiga (Third Normal Form/3 NF). e. Boyce/Codd Normal Form (BCNF). f. Bentuk Normal Keempat (Fourth Normal Form/4 NF). g. Bentuk Normal Kelima (Fifth Normal Form/5 NF). Proses normalisasi digunakan untuk pengubahan suatu relasi dari bentuk normal tertentu ke sekumpulan relasi di dalam bentuk normal yang lebih diinginkan. Proses normalisasi hendaknya reversible, dan non-loss decomposition. Reversible yaitu dapat dilakukannya pengambilan output dari suatu proses dan mengubahnya kembali ke input semula. Sedangkan non-loss decomposition yaitu tidak adanya informasi yang hilang selama proses normalisasi. 7.3.1. Unnormalized Normalisasi Data 82
  • 7. Unnormalized ialah suatu relasi yang mengandung atribut dengan nilai non-atomic, dan atau mempunyai group atribut berulang. Nilai atribut atomic ialah nilai suatu atribut yang tidak dapat dibagi menjadi komponen-komponen yang lebih kecil. Sehingga nilai atribut composite dan nilai atribut multivalued tidak diijinkan disini. Berikut adalah contoh relasi yang mengandung atribut dengan nilai non-atomic, yang disebabkan adanya atribut-atribut composite dan atribut multivalued. nama_jalan kota kode_pos KENDARAAN NOPOLISI PEMILIK ALAMAT WARNA H3003YA IR HARY D. JL MELATI 234,PATI,33890 MERAH H3004YB PAMUJI JL GARUDA V/2,TEGAL,33567 HITAM,PUTIH H3005YA NINA JL DELIMA X/54,DEMAK,33452 BIRU,BIRU MUDA Gambar 7.4 Atribut Composite dan Multivalued Atribut alamat merupakan atribut composite, karena dengan melihat nilai atribut tersebut maka atribut alamat dapat dipecah menjadi tiga atribut, yaitu: nama_jalan, kota, dan kode_pos (lihat Gambar 7.4). Masing-masing atribut yang baru tersebut mempunyai nilai yang atomic (tidak dapat dipecah lagi menjadi komponen yang lebih kecil). Atribut warna merupakan atribut mutivalued, karena isi didalamnya dapat tidak tunggal. Sebagai contoh: (HITAM, PUTIH) dan (BIRU, BIRU MUDA). Misal diberikan suatu formulir dengan format sebagaimana diberikan pada Gambar 7.5. Karena pada kenyataannya seorang mahasiswa didalam satu semester dapat mengambil lebih dari satu mata kuliah, maka data pengambilan mata kuliah dari seorang mahasiswa dengan mahasiswa lainnya dapat berbeda-beda. Sebagai akibatnya jumlah baris data di dalam relasi yang digunakan untuk menyimpan data pengambilan mata kuliah dapat tidak sama. Atau dikatakan terjadi group atribut berulang. Perhatikan isi data dari formulir isian rencana studi pada Gambar 7.5. Asumsi yang digunakan ialah: • Setiap mahasiswa dapat mengambil lebih dari satu mata kuliah. • Setiap mata kuliah diampu oleh seorang dosen. • Setiap dosen hanya mengampu satu mata kuliah. • Setiap dosen menggunakan ruang yang sama dalam memberikan kuliahnya. Normalisasi Data 83
  • 8. FORMULIR ISIAN RENCANA STUDI NAMA : AMIR NIM : 10 KODE MATA KULIAH DOSEN RUANG NILAI ----- ----------- ---------- ----- ----- MTK1 STATISTIK DRS JANUAR, MSI R101 B MTK2 BHS INGGRIS DRA ANDINI R102 A Gambar 7.5 Formulir Isian Rencana Studi Kemudian data di atas, ditambah dengan data dari mahasiswa lain disimpan dalam bentuk relasi sebagai berikut: RENC_STUDI NIM NAMA KODEMTK MTK DOSEN RUANG NILAI MTK1, STATISTIK, DRS JANUAR MSI, R101, B, 10 AMIR MTK2 BHS INGGRIS DRA ANDINI R102 A MTK1, STATISTIK, DRS JANUAR MSI, R101, A, 11 PUTRI MTK4 FISIKA DRS HERY MSI R201 B 12 ANDI MTK2 BHS INGGRIS DRA ANDINI R102 A Gambar 7.6 Contoh Bentuk Unnormalized Relasi pada Gambar 7.6 merupakan relasi dengan bentuk unnormalized, karena di dalamnya terdapat group atribut berulang. Relasi pada Gambar 7.6 dapat disajikan dengan menggunakan schema relasi sebagai berikut: RENC_STUDI(nim,nama,{kodemtk,mtk,dosen,ruang,nilai}) Atribut-atribut yang ditulis di dalam tanda kurung dengan notasi {} merupakan group atribut berulang. Dari relasi bentuk unnormalized di atas, terlihat: Normalisasi Data 84
  • 9. Berisi group atribut berulang, yaitu untuk atribut kodemtk, mtk, dosen, ruang dan nilai. • Mengandung data redundant, yaitu untuk atribut mtk, dosen, dan ruang. Hal ini disebabkan karena ketiga atribut tersebut isinya akan diketahui secara otomatis jika diketahuinya isi kodemtk (dengan asumsi setiap mata kuliah diampu oleh satu orang dosen dan diberikan di dalam ruang yang tidak berubah-ubah). Untuk menghilangkan group atribut berulang di atas, maka dilakukan proses normalisasi untuk mendapatkan relasi yang memenuhi 1NF. 7.3.2. Bentuk Normal Kesatu (1NF) Suatu relasi di dalam 1NF jika dan hanya jika semua domain yang mendasari hanya berisi nilai scalar, dengan demikian tidak mengandung group berulang. Sebagai contoh lihat kembali relasi pada Gambar 7.6. Untuk menyusunnya menjadi relasi dalam 1NF, maka group berulang yang ada harus dihilangkan. Caranya ialah dengan menuliskan setiap pengambilan mata kuliah secara sendiri-sendiri, dan sebagai konsekwensinya maka jumlah tuple atau baris dari relasi pada Gambar 7.6 menjadi bertambah. Sedangkan jumlah atributnya tidak mengalami perubahan. RENC_STUDI NIM NAMA KODEMTK MTK DOSEN UANG NILAI 10 AMIR MTK1 STATISTIK DRS JANUAR MSI R101 B 10 AMIR MTK2 BHS INGGRIS DRA ANDINI R102 A 11 PUTRI MTK1 STATISTIK DRS JANUAR MSI R101 A 11 PUTRI MTK4 FISIKA DRS HERY MSI R201 B 12 ANDI MTK2 BHS INGGRIS DRA ANDINI R102 A Gambar 7.7 Contoh Bentuk Normal Kesatu Dari bentuk 1NF di atas, maka: • Relasi hanya berisi nilai elementer (tunggal) pada interseksi setiap baris dan kolom, dan tidak mengandung group berulang. Normalisasi Data 85
  • 10. Masih menimbulkan anomali di dalam penyisipan, penghapusan, dan peremajaan data (lihat kembali penjelasan pada Sub Bab 7.1). • Sebagai kunci utama ialah (nim + kodemtk). • Atribut nilai bergantung penuh pada kunci utama (nim + kode_mtk). • Atribut yang lain bergantung parsial pada kunci utama. Dengan masih adanya anomali di dalam relasi pada Gambar 7.7, maka untuk menghilangkan anomali yang masih ada, relasi perlu ditingkatkan lagi bentuknya ke 2NF. 7.3.3. Bentuk Normal Kedua (2NF) Suatu relasi di dalam 2NF jika dan hanya jika: • Memenuhi 1NF • Setiap atribut bukan kunci bergantung penuh secara fungsional pada kunci utama. Atribut bukan kunci ialah atribut yang tidak membentuk bagian kunci utama. Contoh: Jika relasi pada Gambar 7.7 (sudah memenuhi 1NF), ditingkatkan normalisasi- nya kebentuk yang lebih tinggi (2NF), maka relasi tersebut perlu dipecah menjadi tiga relasi, misalnya diberi nama: MHS, KRS, dan TBL_MTK. MHS KRS NIM NAMA NIM KODEMTK NILAI 10 AMIR 10 MTK1 B 11 PUTRI 10 MTK2 A 12 ANDI 11 MTK1 A 11 MTK4 B Normalisasi Data 86
  • 11. 12 MTK2 A TBL_MTK KODEMTK MTK DOSEN RUANG MTK1 STATISTIK DRA JANUAR MSI R101 MTK2 BHS INGGRIS DRA ANDINI R102 MTK4 FISIKA DRS HERY R201 MSI Gambar 7.8 Bentuk Normal Kedua (2NF) Ketiga relasi, yaitu: MHS, KRS, TBL_MTK sudah memenuhi 2NF karena sudah tidak mengandung ketergantungan parsial. Relasi TBL_MTK masih mengandung ketergan- tungan transitif, yaitu ruang mempunyai ketergantungan fungsional dengan kodemtk (sebagai kunci primer), dan sekaligus juga dengan atribut dosen (yang merupakan atribut non-key). 7.3.4. Bentuk Normal Ketiga (3NF) Suatu relasi di dalam 3NF jika dan hanya jika: • Memenuhi 2NF • Setiap atribut bukan kunci tergantung non-transitive pada kunci utama. Atribut bukan kunci merupakan sembarang atribut yang tidak berpartisipasi di dalam kunci utama dari relasi terkait. Sedangkan ketergantungan transitive terjadi apabila satu atribut bukan kunci tergantung pada satu atau lebih atribut bukan kunci yang lain. Kunci Utama A B Normalisasi Data 87
  • 12. Gambar 7.9 Ketergantungan Transitive Dari gambar di atas, B mempunyai ketergantungan fungsional pada Kunci Utama, dan juga pada A. Non-transitive memberikan implikasi tidak adanya saling ketergantungan. Contoh: Relasi di dalam Gambar 7.8 (yang masih mengandung ketergantungan transitive) akan diubah agar mempunyai bentuk normal yang lebih tinggi yaitu 3NF. Untuk itu maka relasi TBL_MTK dipecah menjadi dua, yaitu AMPU dan LOKASI, sehingga relasi yang dihasilkan ialah sebagai berikut. MHS KRS NIM NAMA NIM KODEMTK NILAI 10 AMIR 10 MTK1 B 11 PUTRI 10 MTK2 A 12 ANDI 11 MTK1 A 11 MTK4 B 12 MTK2 A AMPU LOKASI KODEMTK MTK DOSEN DOSEN RUANG MTK1 STATISTIK DRS JANUAR MSI DRS JANUAR MSI R101 MTK2 BHS INGGRIS DRA ANDINI DRA ANDINI R102 MTK4 FISIKA DRS HERY MSI DRS HERY MSI R104 Gambar 7.10 Bentuk Normal Ketiga (3NF) Dari relasi yang dihasilkan terakhir di atas, maka: • Tidak ada ketergantungan transitive. • Setiap atribut bukan kunci bergantung penuh pada kunci utama. Sampai dengan tahapan terakhir ini (3NF), diperoleh struktur relasi yang bebas dari anomali. 7.4. Bentuk-bentuk Normal Relasi di dalam bentuk normal ketiga (3NF) sudah cukup untuk banyak perancangan basis data praktis. Akan tetapi 3NF tidak menjamin semua anomali telah dihilangkan (McFadden, 1988). Sehingga untuk menghilangkan anomali yang masih ada diperlukan Normalisasi Data 88
  • 13. penambahan proses normalisasi yang lebih tinggi. Pada prakteknya sangat sedikit orang perlu memikirkan penormalisasian di atas bentuk normal ketiga (Whitehorn, 2003). Bentuk-bentuk normal yang lebih tinggi dari 3NF antara lain ialah: a. Boyce-Codd Normal Form (BCNF) Jika suatu relasi mempunyai lebih dari satu kunci kandidat yang overlapping, terdapat kemungkinan masih dijumpainya anomali (meskipun relasi sudah memenuhi 3NF). R. F. Boyce dan E. F. Codd mengusulkan pemecahannya dengan mengenalkan suatu bentuk normalisasi yang didefinisikan lebih kuat dari 3NF. Bentuk tersebut yang kemudian disebut dengan nama Boyce Codd Normal Form (BCNF). Suatu relasi di dalam BCNF jika dan hanya jika, hanya determinant yang menjadi kunci kandidat. b. Bentuk Normal Keempat Meskipun suatu relasi sudah memenuhi BCNF, terdapat kemungkinan relasi tersebut masih menghasilkan anomali peremajaan. Untuk menghilangkan anomali tersebut perlu dilakukan proses normalisasi untuk mendapatkan 4NF. Di dalam membentuk relasi menjadi 4NF, akan terkait dengan suatu bentuk hubungan antar atribut yang disebut dengan: Multi Valued Dependence (MVD). Ambil R suatu relasi, dan A, B, C merupakan bagian berubah-ubah dari R. B dikatakan multi dependent pada A, atau A  B jika dan hanya jika himpunan nilai B sesuai dengan pasangan (nilai A, nilai C) di dalam R, hanya bergantung pada nilai A dan bebas dari nilai C. Suatu relasi R di dalam 4NF jika dan hanya jika, kapan saja terdapat himpunan bagian A dan B dari atribut R sedemikian sehingga: MVD A  B memenuhi, maka semua atribut juga bergantung fungsional pada A. c. Bentuk Normal Kelima Normalisasi Data 89
  • 14. Sebelum bicara tentang relasi dengan bentuk normal yang lebih tinggi dari 4NF, perlu dikenalkan dahulu tentang Joint-Dependency (JD). Joint Dependency (JD): Ambil R suatu relasi, dan A, B, .., Z himpunan bagian berubah-ubah dari himpunan atribut R. R memenuhi joint dependence, jika: * (A, B, .., Z) jika dan hanya jika R sama dengan joint dari projection dari A, B, ..., Z. Suatu relasi di dalam 5NF atau disebut dengan Projection-Joint Normal Form (PJ/NF) jika dan hanya jika setiap JD di dalam R dinyatakan tidak langsung oleh kandidat key dari R. Pembahasan lebih rinci mengenai BCNF, 4NF, dan 5NF dapat dilihat pada Date (1995), McFadden (1988), Kroenke (1990), dan Elmasri (1994). 7.5. SOAL-SOAL LATIHAN 1. Berikan alasan anda mengapa suata basis data harus berada pada kondisi normal ! Normalisasi Data 90
  • 15. 2. Kondisi apa saja yang harus dipenuhi, bahwa suatu basis data di katakan memenuhi normalisasi ! 3. Berikan alasan anda mengapa bentuk normal ke-4 (4NF) dan normal ke-5 (5NF) dalam prakteknya tidak dilakukan ! 4. Diberikan suatu data sebagai berikut : No Class Time Day Teacher Start Room Remark 1 B.1I 17.00-18.30 Tuesday Ms. Avi 19/08/2004 A202 Run Thursday Ms. Oki 2 B.5I 15.30-17.00 Tuesday Ms. Beta 20/08/2004 A302 Run Friday Ms. Susi 3 B.1J 17.00-18.30 Monday Ms. Galuh 23/08/2004 A301 Run Thursday Ms. Avi 4 B.2J 17.00-18.30 Tuesday Mr. Aris 24/08/2004 A102 Run Thursday Ms. Beta 5 B.3J 15.30-17.00 Tuesday Mr. Aris 05/08/2004 A103 Run Thursday Ms. Oki 6 B.2F 15.30-17.00 Monday Ms. Galuh 19/08/2004 A203 Run Thursday Mr. Hery 7 B.1I 18.30-20.00 Wednesday Ms. Ria 04/08/2004 A203 Pending Friday Ms. Galuh Dari data yang diberikan di atas belum memenuhi kondisi normal, maka tentukanlah proses normalisasi untuk menghasilkan data yang memenuhi kondisi normal ! Normalisasi Data 91