normalisasi & data warehouse

Upload: rani-annisa-awalia

Post on 10-Jan-2016

269 views

Category:

Documents


3 download

DESCRIPTION

Normalisasi adalah suatu teknik untuk mengelompokkan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya.

TRANSCRIPT

NORMALISASIDEFINISI NORMALISASINormalisasi adalah suatu teknik untuk mengelompokkan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya.TUJUAN NORMALISASI1. Untuk menghilang kerangkapan data

2. Untuk mengurangi kompleksitas

3. Untuk mempermudah pemodifikasian data

TAHAPAN NORMALISASI

Bentuk Tidak Normal

Bentuk tidak normal adalah kumpulan data yang tidak disimpan tidak mempunyai format tertentu, data disimpan apa adanya sesuai masukan yang di peroleh.Dalam bentuk ini data mungkin saja tidak lengkap tidak konsisten / terduplikasi. Bentuk Normal Pertama (1NF = First Normalized Form)Bentuk normal pertama dicapai apabila setiap nilai atribut adalah tunggal.

Ciri-cirinya :

- Tidak adanya atribut mutivalue, atribut composite atau kombinasinya

- Fieldnya berupa atomic value yang artinya data tidak bisa dipecahkan ke bentukyang lebih kecil- Mendefinisikan atribut kunci

Bentuk Normal Kedua (2NF = Second Normalized Form)Bentuk normal kedua dicapai apabila atribut yang di jadikan identitas benar-benar sebagai determinan dari semua atribut.

Ciri-cirinya :

- Bentuk kedua di capai jika tabel sudah membentuk normal ke-1- Semua atribut bukan kunci hanya boleh tergantung (Functional Dependency) pada atribut

kunci- Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain

- Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi

Bentuk Normal Ketiga (3NF = Third Normalized Form)Bentuk normal ketiga adalah bentuk normal kedua tanpa terjadi adanya ketergantungan transitif determinan.Ciri-cirinya :

- Tabel sudah harus berbentuk normal kedua (2NF)- Tidak ada ketergantungan transitif determinan (di mana atribut bukan kunci

ketergantungan pada atribut bukan kunci lainnya) Bentuk Normal Boyce-Codd (BCNF)

Ciri-cirinya :

- Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap Functional

Dependency terhadap setiap atribut atau gabungan atribut dalam bentuk : X ( Y maka X adalah Super Key

- Tabel tersebut harus di dekomposisi berdasarkan Functional Dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi

- Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu

termasuk BCNF Perbedaannya, untuk Functional Dependency X ( A, BCNF tidak memperbolehkan A sebagai bagian dari primary key

Bentuk Normal Keempat (4NF)Ciri-cirinya :

- Bentuk normal keempat terpenuhi dalam sebuah tabel jika telah memenuhi bentuk

BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah Multivalue Attribute- Untuk setiap multivalued dependencies juga harus merupakan Functional Dependencies Bentuk Normal Kelima (5NF)

- Bentuk normal 5NF terpenuhi jika tidak dapat memiliki, sebuah Lossless Decomposition menjadi tabel-tabel yang lebih kecil

- Jika 4 bentuk normal sebelumnya dibentuk berdasarkan Functional Dependency, 5NF dibentuk berdasarkan konsep Join Dependence. Yakni apabila sebuah tabel-tabel telah di dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula

CONTOH KASUSNormalisasi 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-MhsNm-MhsJurusanKd-MKNm-MKKd-DosenNm-DosenNilai

2683WeliMIMI350Manajemen Basis DataB104AtiA

Analisis Prc. SistemB317DitaB

5432BakriAKMI350Manajemen Basis DataB104AriC

AKN20Akuntansi KeuanganD310LiaB

MKT30Dasar PemasaranB212LolaA

Tabel MAHASISWA-2 (1NF)No-MhsNm-MhsJurusanKd-MKNm-MKKd-DosenNm-DosenNilai

2683WeliMIMI350Manajemen Basis DataB104AtiA

2683WeliMIMI465Analisis Prc. SistemB317DitaB

5432BakriAKMI350Manajemen Basis DataB104AriC

5432BakriAKAKN20Akuntansi KeuanganD310LiaB

5432BakriAKMKT30Dasar PemasaranB212LolaA

Diagram Ketergantungan Fungsional :

Tabel KULIAH (2NF)Kd-MKNm-MKKd-DosenNm-Dosen

MI350Manajemen Basis DataB104Ati

MI465Analisis Prc.SistemB317Dita

AKN20Akuntansi KeuanganD310Lia

MKT30Dasar PemasaranB212Lola

Tabel MAHASISWA-3 (3NF)

No-MhsNm-MhsJurusan

2683WeliMI

5432BakriAK

Tabel NILAI (3NF)

No-MhsKd-MKNilai

2683MI350A

2683MI465B

5432MI350C

5432AKN20B

5432MKT30A

Tabel MATAKULIAH (3NF)

Kd-MKNm-MKKd-Dosen

MI350Manajemen Basis DataB104

MI465Analisis Prc. SistemB317

AKN20Akuntansi KeuanganD310

MKT30Dasar PemasaranB212

Tabel DOSEN (3NF)

Kd-DosenNm-Dosen

B104Ati

B317Dita

D310Lia

B212Lola

DEPENDENCY

Functional dependency (ketergantungan fungsional) menggambarkan hubungan kaitan antara atribut-atribut dalam relasi, dikatakan fungsional dependent karena nilai dari suatu atribut digunakan oleh atribut yang lain. Simbol untuk menyatakan functional dependent adalah dibaca secara fungsional menentukan.

Contoh : A B (A secara fungsional menentukan B)

Artinya bahwa A secara fungsional menentukan B atau B bergantung pada A

Contoh :

Tabel Nilai

Ketergantungan fungsional dari tabel Nilai di atas adalah :

NIMNamaMhsNIM menentukan Nama Mahasiswa karena NIM yang sama menunjukkan Nama Mahasiswa yang sama. {MataKuliah,NIM} NilaiHurufKenapa harus MataKuliah dan NIM, tidak NIM saja atau Mata Kuliah saja.Karena kalau hanya NIM saja satu NIM dapat memiliki 2 nilai, Jika Mata Kuliah saja juga terdapat banyak nilai, oleh karena itu kita menggunakan Mata Kuliah dan NIM untuk menentukan Nilai Huruf.

MACAM-MACAM FUNCTIONAL DEPENDENCY1. Full functional dependency

2. Partially dependency

3. Transitive dependency FULL FUNCTIONAL DEPENDENCY

Ketergantungan penuh. Full dependency menunjukkan atribut A dan B dalam satu relasi, di mana B bergantung penuh terhadap A, maksudnya penuh di sini adalah B hanya ditentukan oleh A dan hanya A saja yang menentukan B bukan dari A.

Contoh :

Dikatakan full dependency kalau hanya A yang menentukan B dalam hal ini adalahNIM idRuang. Jika Nama dan NIM yang menentukan idRuang maka hal ini tidak dapat dikatakan sebagai full dependency. PARTIALLY DEPENDENCYKetergantungan parsial atau sebagian. Partionally dependency ini memiliki 2 atribut dari A untuk menentukan B, namun untuk menentukan B tidak harus 2 atribut artinya jika salah satu atribut A yang menentukan B dapat dihilangkan namun tidak merubah arti relasi dan masih tetap berelasi ketergantungan.

Contoh :

Ketergantungan sebagian {NIM, Nama} idRuang di mana jika Nama dihilangkan maka ketergantungan tetap ada.

TRANSITIVE DEPENDENCYTransitive dependency biasanya terjadi pada tabel hasil relasi, atau kondisi di mana terdapat tiga atribut A,B,C. Kondisinya adalah A B dan B C. Maka C dikatakan sebagai transitive dependency terhadap A melalui B.

Contoh :

NIP {Nama, Jabatan, Gaji,kdCabang,almCabang}

kdCabang almCabangNIPmenentukan semua atribut dan atributalmCabangditentukan olehNIPnamun melalui kdCabang.

KEY DALAM DATABASE

Pengertian Key

Key adalah satu gabungan dari beberapa atribut yang dapat membedakan semua basis data (row) dalam tabel secara unik. Keydi dalam database berfungsi sebagaisuatu cara untuk mengidentifikasi dan menghubungkan satu tabel data dengan tabel yang lain.

Jenis-Jenis Key

1. Primary Key (Kunci Primer)Kunci primer adalah suatu atribut atau satu set minimal atribut yang tidak hanya mendefinisikan secara unik suatu kejadian spesifik tetapi juga dapat mewakili setiap kejadian dari suatu kejadian.

Nilai field yang menjadi primary key harus :

Unik atau tidak boleh ganda

Tidak boleh Null (kosong, tidak diketahui, tidak dapat ditentukan)

Key tersebut lebih natural untuk dijadikan acuan database tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih candidate key.

Key boleh terdiri lebih dari satu field Key yang terdiri lebih dari satu kolom seperti ini disebut Composite Key.

Contoh Primary Key :

File pegawai berisi attribute : No Induk No KTP Nama

Tempat Lahir

Tanggal Lahir

Alamat

Kota

No Induk dan No KTP adalah kunci calon (Candidate Key) dan untuk kunci utama (Primary Key) adalah salah satu yang dipilih dari kunci calon. Misalnya No Induk di jadikan primary key, maka primary key nya adalah no Induk.

2. Foreign Key(Kunci Tamu)

Foreign Keyadalah satu set atribut atau set atribut sebagai key penghubung kedua tabel dan melengkapi satu relationship (hubungan) terhadap primary key yang menunjukan ke induknya.

Jika sebuah primary key terhubung ke table/entity lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign key.

Contoh Foreign Key :

Pada gambar di atas, NIM pada table Mahasiswa adalah Primary Key. Sedangkan primary key pada table Matkul adalah Kd_Matkul. Lalu Kd_Matkul menempel pada table Mahasiswa yang kita sebut sebagai Foreign Key.

Biasanya disebut table yang berisi foreign key sebagai table anak karena table tersebut mengait pada table lain. Sedangkan table yang terkait disebut sebagai table induk. Pada contoh table di atas, Mahasiswa sebagai table anak sedangkan Matkul sebagai table induk.3. Candidate Key(Kunci kandidat / kunci calon)adalah suatu atribut atau satu set minimal atribut yang hanya mengidentifikasikan secara unik untuk suatu kejadian spesifik dari entitas.Candidate key ini harus memenuhi syarat yaitu :

Unique Identifier, untuk setiap row/tuple candidate key harus secara unik dapat menjadi identifier. Artinya, setiap non candidate key atribut secara fungsional bergantung pada candidate tersebut.

Non Redudancy, tidak ada duplikasi candidate key untuk menjadi unique identifier, di mana tidak dapat dilakukan penghapusan pada candidate key di mana tidak merusak sifat unique identifier.Contoh Candidate Key :

Table MHS berisi attribute : NPM Nama AlamatKunci kandidat di sini adalah :

NPM Nama4. Composite KeyDalam desain database, composite key adalah kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam haknya sendiri.

composite setidaknya satu atribut yang membentuk kunci komposit bukanlah kunci sederhana.

Contoh Composite Key :

Suatu entitas yang mewakili masing-masing modul siswa hadir di Universitas. entitas ini memiliki NIM dan Kd_Matkul sebagai kunci utama. Setiap atribut yang membentuk kunci utama adalah kunci sederhana karena masing-masing merupakan referensi unik ketika mengidentifikasi siswa dalam satu kasus dan modul yang lain.

Sebaliknya, dengan menggunakan contoh yang sama, mengidentifikasi seorang Mahasiswa oleh NamaBelakang + NamaDepan. Di tabel Siswa tersebut pada modul kunci utama yaitu NamaDepan + NamaBelakang + Kd_Matkul. Karena NamaBelakang + NamaDepan merupakan referensi unik untuk mahasiswa, itu bukanlah sebuah kunci sederhana, itu adalah kombinasi dari atribut yang digunakan untuk secara unik mengidentifikasi seorang mahasiswa. Oleh karena itu kunci utama untuk entitas ini adalah kunci komposit.

Tidak ada pembatasan diterapkan pada atribut tentang (awal) kepemilikan mereka dalam model data. Ini berarti bahwa setiap satu, tidak ada, atau semua, dari beberapa atribut dalam kunci senyawa dapat menjadi kunci asing. Di mana kunci asing mungkin sendiri dapat menjadi kunci majemuk.

Alternative Keyadalah candidate key yang tidak dipilih sebagai primary key. Sekunder Keyadalah sebuah atribut atau kombinasi yang digunakan hanya untuk tujuan pengambilan data.

Atribut Multivalued yaitu suatu atribut yang bisa lebih dari 1 nilai yang sejenis untuk setiap baris data. Contoh : Alamat, No.Telp dan Hobi. Ketiga atribut tersebut bisa berisi lebih dari 1.

Untuk 1 entitas orang bisa mempunyai lebih dari 1 nilai untuk atribut Hobi yang isinya musik, olahraga begitu juga untuk No.Telp dan Alamat (* karena bisa mempunyai > 1 No.Telp dan > 1 Alamat) Derived AttributeDerived Attribute yaitu suatu atribut yang nilainya didapatkan dari hasil pengolahan atribut lain.

Contoh : umur yaitu didapatkan dari perhitungan tanggal lahir dan tanggal sekarang. IPK yang didapatkan dari penjumlahan nilai di bagi dengan jumlah sks yang diambil.

DATA WAREHOUSE

DEFINISI DATA WAREHOUSE

Data Warehouse adalah kumpulan dari komponen-komponen perangkat keras dan perangkat lunak yang dapat digunakan untuk mendapatkan analisa yang lebih baik dari data yang berjumlah sangat besar sehingga dapat membuat keputusan yang

baik.MANFAAT DATA WAREHOUSE

Data Warehouse biasanya digunakan untuk :

1. Memahami trend bisnis dan membuat perkiraan keputusan yang lebih baik.

2. Menganalisa informasi mengenai penjualan harian dan membuat keputusan yang

cepat dalam mempengaruhi performance perusahaan.

ISTILAH-ISTILAH DATA WAREHOUSE

Istilah-istilah yang berkaitan dengan data warehouse :

1. Data Mart adalah suatu bagian pada data warehouse yang mendukung pembuatan laporan dan analisa data pada suatu unit, bagian atau operasi pada suatu perusahaan.

2. On-Line Analytical Processing (OLAP) merupakan suatu pemrosesan database yang menggunakan tabel fakta dan dimensi untuk dapat menampilkan berbagai macam bentuk laporan, analisis, query dari data yang berukuran besar.

3. On-Line Transaction Processing (OLTP) merupakan suatu pemrosesan yang menyimpan data mengenai kegiatan operasional transaksi sehari-hari.

4. Dimension Table, Tabel yang berisikan kategori dengan ringkasan data detail yang dapat dilaporkan. Seperti laporan laba pada tabel fakta dapat dilaporkan sebagai dimensi waktu (yang berupa perbulan, perkwartal dan pertahun).

5. Fact Table, merupakan tabel yang umumnya mengandung angka dan data history dimana key (kunci) yang dihasilkan sangat unik, karena key tersebut terdiri dari foreign key (kunci asing) yang merupakan primary key (kunci utama) dari beberapa dimensiontable yang berhubungan.

PERBEDAAN OLTP & OLAP

1. UserDalam OLTP, penggunanya adalah IT Proffesional sedangkan OLAP penggunanya adalah Knowledge worker maksdunya penggunanya adalah seorang yang bertindak dalam subyek tertentu, atau petinggi dalam suatu perusahaan.2. FunctionOLTP digunakan sehari-hari untuk proses bisnis seperti toko atau swalayan, sedangkan OLAP digunakan untuk pengambilan keputusan.3. Design DatabaseDesain dalam OLTP bersifat Entity Relational atau databasenya dinormalisasi dulu sebelum digunakan. Untuk OLAP desain databasenya didenormalisasi.4. DataDalam OLTP datanya adalah hari ini, update setiap saat sedangkan OLAP datanya adalah sekarang dan hari ini yang berguna untuk melakukan analisis ke depan.5. PenggunaanOLTP digunakan setiap saat, sedangkan OLAP digunakan seperlunya saja.6. AccessOLTP aksesnya bisa write, read dan lain-lain. Sedangkan OLAP sering dibaca karena digunakan untuk analisa.7. Unit PekerjaanKalau OLTP pekerjaannya hanya sederhana misalnya transaksi dalam swalayan. Untuk OLAP query untuk menampilkan data sangat kompleks.8. Jumlah rekaman yang di aksesKalau OLTP sekitar ratusan sampai ribuan, tapi jika OLAP data yang diakses bisa sampai jutaan bahkan milyaran.9. Jumlah PenggunaUntuk OLTP penggunanya adalah puluhan, tapi kalau OLAP penggunanya bisa sampai ratusan bahkan ribuan10. Ukuran DatabaseUkuran database untuk OLTP sekitar MB-GB, sedangkan OLAP bisa sampai GB-TB.KEGUNAAN DATA WAREHOUSE

1. Perlunya Data Warehouse

Data warehouse diperlukan bagi para pengambil keputusan manajemen dari suatu organisasi/perusahaan. Dengan adanya data warehouse, akan mempermudah pembuatan aplikasi-aplikasi DSS (Decision Support System) dan EIS (Executive Information System) karena memang kegunaan dari data warehouse adalah khusus untuk membuat suatu database yang dapat digunakan untuk mendukung prosesanalisa bagi para pengambil k eputusan.

2. Tugas-Tugas Data Warehouse

Ada empat tugas yang bisa dilakukan dengan adanya data warehouse

Menurut Williams, keempat tugas tersebut yaitu :

a. Pembuatan laporan

Pembuatan laporan merupakan salah satu kegunaan data warehouse yang paling umum dilakukan. Dengan menggunakan query sederhana didapatkan laporan perhari, perbulan, pertahun atau jangka waktu kapanpun yang diinginkan.

b. On-Line Analytical Processing (OLAP)

Dengan adanya data warehouse, semua informasi baik detail maupun hasil summary yang dibutuhkan dalam proses analisa mudah didapat.

OLAP mendayagunakan konsep data multidimensi dan memungkinkan para pemakai menganalisa data sampai mendetail, tanpa mengetikkan satupun perintah SQL. Hal ini dimungkinkan karena pada konsep multidimensi, maka data yang berupa fakta yang sama bisa dilihat dengan menggunakan fungsi yang berbeda. Fasilitas lain yang ada pada software OLAP adalah fasilitas rool-up dan drill-down. Drill-down adalah kemampuan untuk melihat detail dari suatu informasi dan roll-up adalah kebalikannya.

c. Data mining

Data mining merupakan proses untuk menggali (mining) pengetahuan dan informasi baru dari data yang berjumlah banyak pada data warehouse, dengan menggunakan kecerdasan buatan (Artificial Intelegence), statistik dan matematika. Data mining merupakan teknologi yang diharapkan dapat menjembatani komunikasi antara data dan pemakainya.

PERANCANGAN DATA WAREHOUSE

Petunjuk membangun datawarehouse :

Menentukan misi dan sasaran bisnis bagi pembentukandata warehouse.

Mengidentifikasi data dari basis data operasional dan sumber lain yang diperlukan

bagidata warehouse.

Menentukan item-item data dalam perusahaan dengan melakukan standarisasi

penamaan data dan artinya

Merancang basis data untukdata warehouse.

Membangun kebijakan dalam mengarsipkan data lama sehingga ruang

penyimpanan tak menjadi terlalu besar dan agar pengambilan keputusan tidak

menjadi terlalu lamban.

Menarik data produksi (operasional) dan meletakkan ke basis data milikdata

Warehouse.

KONSEP & ARSITEKTUR DATA WAREHOUSE

Data warehouse : kumpulan data yang berorientasi subjek, terintegrasi,time-variant, dannon volatileuntuk mendukung proses pengambilan keputusan.

Data warehouse mengorganisasikan subjek utama perusahaan (pelanggan, produk, dan penjualan), bukan area aplikasi utama (faktur pelanggan, pengawasan stok, dan penjualan produk). Hal ini menggambarkan kebutuhan untuk menyimpan data pendukung keputusan daripada aplikasi yang berorientasi data.

Integrated

Pengambilan secara bersamaan sumber data yang berasal dari sistem aplikasi berbagai perusaan besar yang berbeda. Sumber data sering tidak konsisten, misal berbeda format. Sumber data yang terintegrasi harus dapat dibuat konsisten untuk menggambarkan view gabungan data ke pemakai. Time variant

Data warehouse hanya akurat dan valid pada saat tertentu atau beberapa interval waktu tertentu. Non volatile

Data tidak diperbaharui secarareal timetetapi diperbaharui dari sistem operasional secara reguler. Data baru selalu ditambahkan sebagai lampiran pada basis data, bukan menggantikan data lama.

Mengapa Sistem Data Warehouse harus dipisah dari Sistem Operasional? Untuk mendapatkan proses dengan High Performance dalam melakukan analisa

Pelaksanaan proses analisa queri pada server operasional dapat menurunkan kinerja server Pada server operasional dibutuhkan kontrol mekanisme untuk menjamin konsistensi transaksi

Data Warehouse hanya mempunyai fungsi membaca (read)

Data pada server operasional belum bisa mendukung untuk analisa dalam pengambila nkeputusan Data pada server operasional belum terkonsolidasi sedangkan Data Warehouse merupakan data konsolidasi hasil integrasi dari berbagai sumber data Data Warehouse memerlukan adanya mekanisme rekonsiliasi atas kode dan format data

KARAKTERISTIK DATA WAREHOUSE

Adapun karakteristik umum yang dimiliki data warehouse adalah :

1. Data terintegrasi dari berbagai sumber yang berasal dari proses transaksional

(OLTP)

2. Data dibuat konsisten

3. Merupakanaggregatedata/kesimpulan data, bukan data yang terperinci

4. Data bertahan lebih lama

5. Data tersimpan dalam format yang tepat sehingga prosesquery dan analisa dapat

dilakukan dengan cepat

6. Data bersifatread only

No-Mhs

Kode-MK

Nama-Mhs

Nama-MK

Kode-Dosen

Nama-Dosen

Jurusan

Nilai

*Kd_Matkul

Nm_Matkul

Jml_SKS

Matkul

*NIM

Nama

Alamat

Kd_Matkul

Mahasiswa

15 | Page