Docstoc

Normalisasi (DOC download)

Document Sample
Normalisasi (DOC download) Powered By Docstoc
					Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi
kebutuhan pemakai didalam suatu organisasi
Tujuan dari normalisasi
‰Untuk menghilangkan kerangkapan data
‰Untuk mengurangi kompleksitas
‰Untuk mempermudah pemodifikasian data
Proses Normalisasi
 Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke
    beberapa tingkat.
 Apabila tabel yang diuji belum memenuhi persyaratan tertentu,maka tabel tersebut perlu
    dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Tahapan Normalisasi
Bentuk Tidak Normal
         Menghilangkan perulangan group
Bentuk Normal Pertama (1NF)
         Menghilangkan ketergantungan sebagian
Bentuk Normal Kedua (2NF)
         Menghilangkan ketergantungan transitif
Bentuk Normal Ketiga (3NF)
         Menghilangkan anomali-anomali hasil dari ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF)
         Menghilangkan Ketergantungan Multivalue
Bentuk Normal Keempat (4NF)
         Menghilangkan anomali-anomali yang tersisa
Bentuk Normal Kelima
Ketergantungan Fungsional
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X ---> R.Y), jika dan hanya
jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.
Misal, terdapat skema database Pemasok-barang :
Pemasok (No-pem, Na-pem)
Tabel PEMASOK-BARANG
 No-pem            Na-pem
 P01               Baharu
 P02               Sinar
 P03               Harapan
Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :
No-pem ---> Na-pem
Ketergantungan Fungsional Penuh
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y
tidak tergantung pada subset dari X ( bila X adalah key gabungan)
Contoh :
KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)
  No-pem           Na-pem          No-bar         Jumlah
  P01              Baharu          B01           1000
  P01              Baharu          B02           1500
  P01              Baharu          B03           2000
  P02              Sinar           B03           1000
  P03              Harapan         B02           2000
Ketergantungan fungsional :
No-pem --> Na-pem
No-bar, No-pem --> Jumlah (Tergantung penuh thd keynya)
Ketergantungan Transitif
Definisi :
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada
atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X          Y, Y Z ,
maka X Z )
Contoh :
No-pem           Kode-kota        Kota           No-bar           Jumlah
P01              1                Jakarta        B01              1000
P01              1                Jakarta        B02              1500
P01              1                Jakarta        B03              2000
P02              3                Bandung        B03              1000
P03              2                Surabaya       B02              2000
Ketergantungan transitif :
No-pem --> Kode-kota
Kode-kota --> Kota , maka No-pem --> Kota
Bentuk Normal Kesatu (1NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik
yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data Tabel KIRIM-1 (Unnormal)
No-pem           Kode-kota        Kota           No-bar           Jumlah
P01              1                Jakarta        B01              1000
B02                                                               1500
B03                                                               2000
P02              3                Bandung        B03              1000
P03              2                Surabaya       B02              2000
Tabel KIRIM-2 (1NF)
No-pem           Kode-kota        Kota           No-bar           Jumlah
P01              1                Jakarta        B01              1000
P01              1                Jakarta        B02              1500
P01              1                Jakarta        B03              2000
P02              3                Bandung        B03              1000
P03              2                Surabaya       B02              2000
Diagram Ketergantungan Fungsional
Bentuk Normal Kedua (2NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi
bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya.
Tabel PEMASOK-1 (2NF)
 No-pem          Kode-kota        Kota
 P01             1                Jakarta
 P02             3                Bandung
 P03             2                Surabaya
Bentuk Normal Ketiga (3NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi
bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya.
Tabel KIRIM-3 (3NF)
No-pem           No-bar           Jumlah
P01              B01              1000
P01              B02              1500
P01              B03               2000
P02              B03              1000
P03             B02               2000
Tabel PEMASOK-2 (3NF)                            Tabel PEMASOK-3 (3NF)
No-pem          Kode-kota                        Kode-kota      Kota
P01             1                                1              Jakarta
P02             3                                2              Surabaya
P03             2                                3              Bandung
Normalisasi pada database perkuliahan
Asumsi :
  Seorang mahasiswa dapat mengambil beberapa mata kuliah
  Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
  Satu mata kuliah hanya diajarkan oleh satu dosen
  Satu dosen dapat mengajar beberapa mata kuliah
  Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu nilai
 Tabel MAHASISWA-1 ( Unnormal )
 No-Mhs Nama- Mhs Jurusan Kode-MK Nama-MK                       Kode-Dosen Nama-Dosen Nilai
 2683 Welli             MI        MI350 Manajamen DB            B104         Ati      A
                                  MI465 Analsis Prc. Sistem     B317         Dita     B
 5432 Bakri             Ak.       MI350 Manajemen DB            B104         Ati      C
                                  AKN201 Akuntansi Keuangan D310             Lia      B
                                  MKT300 Dasar Pemasaran        B212         Lola     A
 Tabel MAHASISWA-2 ( 1NF )
 No-Mhs Nama-Mhs Jurusan Kode-MK Nama-MK                        Kode-Dosen Nama-Dosen Nilai
 2683 Welli             MI        MI350 Manajamen DB            B104         Ati      A
 2683 Welli             MI        MI465 Analsis Prc. Sistem     B317         Dita     B
 5432 Bakri             Ak.       MI350 Manajemen DB            B104         Ati      C
 5432 Bakri             Ak.       AKN201 Akuntansi Keuangan D310             Lia      B
 5432 Bakri             Ak.       MKT300 Dasar Pemasaran        B212         Lola     A
 Tabel KULIAH (2NF)
 Kode-MK        Nama-MK                  Kode-Dosen       Nama-Dosen
 MI350          Manajamen DB             B104             Ati
 MI465          Analsis Prc. Sistem      B317             Dita
 AKN201         Akuntansi Keuangan       D310             Lia
 MKT300         Dasar Pemasaran          B212             Lola
 Tabel MAHASISWA-3 (3NF)
 No-Mhs         Nama-Mhs Jurusan
 2683           Welli MI
 5432           Bakri Ak.
 Tabel NILAI (3NF)
 No-Mhs         Kode              MK Nilai
 2683           MI350             A
 2683           MI465             B
 5432           MI350             C
 5432           AKN201            B
 5432           MKT300            A
 Tabel MATAKULIAH (3NF)
 Kode-MK        Nama-MK                  Kode-Dosen
 MI350          Manajamen DB             B104
 MI465          Analsis Prc. Sistem      B317
 AKN201         Akuntansi Keuangan       D310
 MKT300         DasarPemasaran           B212
 Tabel DOSEN (3NF)
 Kode- Dosen Nama-Dosen
 B104             Ati
 B317             Dita
 B310             Lia
 B212             Lola
Data :
  – Fakta-fakta yang dapat disimpan dan mempunyai arti tertentu.
  – Fakta mengenai obyek, orang, dll.
  – Dinyatakan dengan nilai (angka, deretan karakter, atau symbol).
  – Data terdiri dari :
  •    Elemen data : satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang
       bermakna
  •    Rekaman (Record) : gabungan sejumlah elemen data yang saling berhubungan.
  •    Berkas (file) : kumpulan dari record-record yang bertipe sama.
  – Contoh : data mahasiswa, dosen, dll
APA ITU BASIS DATA..???
    • Sekumpulan data yang terintegrasi yang diorganisasikan untuk memenuhi kebutuhan
         pemakai untuk keperluan organisasi.
    • Kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang
         diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware
         komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu
    • Kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat
         diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis
         data tersebut.
Basis Data dan Lemari Arsip
    • Basis data bisa dibayangkan sebagai lemari arsip dengan berbagai cara pengaturannya
         (misalnya pengelompokan dan pengurutan)
    • Basis data dan lemari arsip memiliki prinsip kerja dan tujuan yang sama; prinsipnya yakni
         pengaturan data/arsip. Tujuan utamanya adalah kemudahan dan kecepatan dalam
         pengambilan kembali data/arsip.
TUJUAN DATABASE
    • Kecepatan dan Kemudahan (Speed)
    • Efisiensi Ruang Penyimpanan (Space)
    • Keakuratan (Accuracy)
    • Ketersediaan (Availability)
    • Kelengkapan (Completenes)
    • Keamanan (Security)
    • Kebersamaan Pemakai (sharability)
PENERAPAN BASIS DATA
    • Kepegawaian
    • Perdagangan (Inventory)
    • Akuntansi
    • Reservasi
    • Layanan Pelanggan
    • Rumah Sakit
    • Pendidikan
    • Telekomunikasi
KOMPONEN BASIS DATA
    • Perangkat Keras (Hardware)
    • Sistem Operasi
    • Basis Data
    • DBMS (Database Management System)
    • Pemakai (User)
    • Aplikasi
Arsitektur Basis Data
    • Lapis Internal, berkenaan dengan penyimpanan secara fisik.
    • Lapis Konseptual, menjelaskan simpanan data dalam database, dan relasi antar data.
                       type pelanggan = record
                               nama : string;
                               jalan : string;
                               kota : string;
                       end;
    • Lapis Eksternal, lapis yang berkenaan dengan apa yang kelihatan bagi para pemakai akhir
        (end users).




Contoh dalam sebuah basis data pegawai :
     • Pada level konseptual,
            basis data mengandung informasi tentang sebuah entity yang disebut EMPLOYEE. Setiap
EMPLOYEE mempunyai sebuah EMP_NUMBER (6 karakter), DEP_NUMBER(4 karakter) & SALARY (5
digit desimal).
     • Pada level internal,
            para pegawai direpresentasikan oleh STRORED_EMP, panjang 20 byte. STORED_EMP
terdiri atas 4 field yaitu flag/pointer, 6 byte, tiga field untuk atribut pegawai.
External Level /View Level
     • Adalah level user. Yang dimaksud dengan user adalah programmer, end user atau DBA.
         Setiap user mempunyai ‘bahasa’ yang sesuai dengan kebutuhannya.
              – Programmer : bahasa yang digunakan adalah bahasa pemrograman seperti C,
                   COBOL, atau PL/I
              – End user : bahasa yang digunakan adalah bahasa query atau menggunakan fasilitas
                   yang tersedia pada program aplikasi pada level eksternal ini, user dibatasi pada
                   kemampuan perangkat keras dan perangkat lunak yang digunakan aplikasi basis
                   data. Didefinisikan sebagai sebuah Skema Eksternal.
Conceptual Level / Logical level
     • Conceptual level adalah sebuah representasi seluruh muatan informasi yang dikandung oleh
         basis data. Tidak seperti level eksternal maka pada level conceptual, keberadaannya tidak
         memperhitungkan kekurangan perangkat keras maupun perangkat lunak pembangun
         aplikasi basis data. Didefinisikan sebagai sebuah Skema Konseptual
Internal/Physical Level
     • Adalah level terendah untuk merepresentasikan basis data. Record disimpan dalam media
         penyimpanan dalam format byte. Didefinisikan sebagai sebuah Skema Internal.
Bahasa SQL
     • SQL = sequel
     • Pertama kali SQL di kembangkan pada tahun 1970 oleh IBM
     • SQL kependekan dari Structured Query Language.
     • Basis data umumnya menggunakan bahasa Query sebagai landasannya.
     • Faktanya Bahasa Query selalu dianggap bahasa pemograman yang lebih mudah dimengerti.
BAGIAN SQL
    • DDL (Data Definition Language)
                  Untuk mendefinisikan data yang berhubungan dengan pembuatan dan
penghapusan object.
          – CREATE (Membuat)
          – DROP (Menghapus)
          – ALTER (Merubah)
    • DML (Data Manipulation Language)
                  Untuk memanipulasi data pada tabel, record.
          – INSERT (Memasukkan)
          – UPDATE (Merubah)
          – DELETE (Menghapus)
    • Retrieving Data
                  Perintah untuk menampilkan data.
          – SELECT
    • DCL (Data Control Language)
                  Bahasa yang berhubungan dengan pengendalian akses database
          – GRANT (memberikan akses)
          – REVOKE (mencabut akses)
    • DTL (Data Transaction Language)
                  Bahasa yang digunakan untuk mengelola transaksi di database
          – COMMIT (Setuju)
          – ROLLBACK (Batal)
Tipe Data
    • Dalam SQL juga mengenal beragam tipe data.
    • SQL menawarkan lebih dari 20 tipe data.
    • Faktanya tipe data yang umum digunakan paling tidak lima.
    • Tipe data selalu menentukan jenis data yang akan masuk ke basis data.
    • Tipe data harus dirancang dengan efektifitas dan efisiensi yang tepat.
    • Integer / Numeric, tipe ini digunakan untuk karakter angka.
          • bigint                : -263  263
          • Int                   : -231  231
          • Smallint                       : -215  215
          • Tinyint               : 0  255
          • Bit         : 1 atau 0
          • Numeric               : -1038 + 1  1039 + 1
    • Numeric Precission
          • float : bilangan presisi -1.79E + 308  1.79E + 308
          • real        : bilangan presisi -3.40E + 38  3.40E + 38
    • Datetime, tipe ini digunakan untuk format penanggalan.
          • Datetime : 1 Januari 1753  31 Desember 9999
          • Smalldatetme : 1 Januari 1900  6 Juni 2079
    • String, tipe ini digunakan untuk menangani karakter dengan panjang yang harus ditentukan.
          • Char : panjang tetap, max 8000 karakter
          • Varchar : panjang tidak tetap, max 8000 karakter
          • Text        : tipe ini digunakan untuk format artikel, max 231 – 1 karakter
    • Unicode Character Strings
          • Nchar                 : max 4000 karakter
          • Nvarchar                       : max 4000 karakter
                                           30
          • Ntext                 : max 2 - 1
    • Binary Strings
        • Binary           : panjang tetap, max 8000 bytes
        • Varbinary        : panjang tidak tetap, max 8000 bytes
        • Image            : max 231 - 1
•   Money, Tipe ini masih varian dari Integer, tipe ini digunakan khusus untuk keuangan namun
    jarang digunakan.
        • Money            : -263  263
        • Small Money : -214.748, 3648  214.748, 3648

				
DOCUMENT INFO
Shared By:
Tags: computer
Stats:
views:330
posted:5/29/2011
language:Indonesian
pages:8
Description: Normalisasi