laporan praktikum modul 5 (normalisasi)

28
LAPORAN PRAKTIKUM SISTEM & TEKNOLOGI BASIS DATA MODUL V NORMALISASI DISUSUN OLEH NAMA : DEVI NIM : 2012081043 KELAS : TI2012A

Upload: devi-apriansyah

Post on 09-Jan-2017

121 views

Category:

Engineering


9 download

TRANSCRIPT

Page 1: Laporan praktikum modul 5 (normalisasi)

LAPORAN PRAKTIKUMSISTEM & TEKNOLOGI BASIS DATA

MODUL VNORMALISASI

DISUSUN OLEHNAMA : DEVINIM : 2012081043KELAS : TI2012A

LABORATORIUM KOMPUTERFAKULTAS ILMU KOMPUTER

UNIVERSITAS KUNINGAN2013

Page 2: Laporan praktikum modul 5 (normalisasi)

I. DASAR TEORI

TEKNIK NORMALISASI DALAM PERANCANGAN BASIS DATA

RELASIONAL

Pendahuluan

Perancangan merupakan suatu hal yang sangat penting dalam pembuatan

basis data. Permasalahan yang dihadapi pada waktu perancangan yaitu bagaimana

basis data yang akan dibangun ini dapat memenuhi kebutuhan saat ini dan masa

yang akan datang. Untuk itu diperlukan perancangan basis data baik secara fisik

maupun secara konseptualnya. Perancangan konseptual akan menunjukkan entity

dan relasinya berdasarkan proses yang diiginkan oleh organsisasinya. Untuk

menentukan entity dan relasinya perlu dilakukan analisis data tentang informasi

yang ada dalam spesifikasi di masa yang akan datang.

Suatu basis data dibangun berdasarkan kebutuhan informasi dalam suatu

organisasi, oleh sebab itu pada umumnya perancangan basis data dimulai dari

pengamatan kebutuhan informasi. Proses perancangan basis data , dibagi menjadi

3 tahapan yaitu :

1. Perancangan basis data secara konseptual , tahapan ini merupakan upaya untuk

membuat model yang masih bersifat konsep..

2. Perancangan basis data secara logis , merupakan tahapan untuk memetakan

model konseptual kemodel basis data yang akan dipakai (modal relasional,

hirarkis, atau jaringan). Perancangan ini tidak bergantung pada DBMS yang

akan dipakai, itulah sebabnya perancangan basis data secara logis terkadang

disebut pemetaan model data.

3. Perancangan basis data secara fisis , merupakan tahapan untuk menuangkan

perancangan basis data yang bersifat logis menjadi basis data fisis yang

tersimpan pada media penyimpanan eksternal (yang spesifik terhadap DBMS

yang dipakai ).

Basisdata

Beberapa pengertian basisdata :

Basisdata merupakan kumpulan tabel-tabel atau files yang saling berelasi.

Page 3: Laporan praktikum modul 5 (normalisasi)

Basisdata merupakan kumpulan data non-redundant yang dapat digunakan

bersama (shared) oleh system aplikasi yang berbeda atau basis data

merupakan kumpulan data non redundant yang saling terkait satu sama lainya

yang dinyatakan oleh atribut-atribut kunci dari table-tabelnya.

Karena tidak semua pengguna basisdata terlatih dengan baik dan

penggunanya terbagi dalam beberapa tingkatan, maka kompleksitas basisdata

akan tersembunyi dari para penggunanya melalui beberapa level abstraksi data,

yaitu :

Level Fisik : merupakan tingkatan terendah dalam abstraksi data yang

menunjukkan bagaimana data disimpan, yang pada umunya tidak terlihat

oleh oleh pengguna atau programmer aplikasinya

Level konseptual : mengambarkan data apa saja yang sebenarnya (secara

fungsional) disimpan didalam basisdata beserta relasi-relasinya didalam

basisdata, dimana administrator basisdata (DBA) membangun dan

mengolah basisdata, contohnya: penguna akan mengetahui bahwa data

penjualan disimpan didalam tabel-tabel barang, produksi, keuangan,

marketing

Level View : merupakan tingkatan tertinggi, yaitu pengguna aplikasi dan

programmer hanya mengenal struktur data.

Model Konseptual Basisdata

Perancangan model konseptual basis data dalam sebuah organisasi menjadi

tugas dari Administrator basis data. Model konseptual merupakan kombinasi

beberapa cara untuk memproses data untuk beberapa aplikasi. Model konseptual

tidak tergantung pada aplikasi individual, DBMS digunakan, Hardware komputer

dan model fisiknya. Pada perancangan model konseptual basis data ini penekanan

dilakukan pada struktur data dan relasi antara file. Pada perancangan model

konseptual ini dapat dilakukan dengan menggunakan model data relasional.

Field (Atribut) Kunci

setiap file selalu terdapat kunci dari file berupa field atau satu set field yang

dapat mewakili record. Misalnya Nomor Pokok Mahasiswa (NPM) merupakan

Page 4: Laporan praktikum modul 5 (normalisasi)

kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian cukup

dengan menyebut nomor mahasiswa tersebut maka dapat diketahui identitas

mahasiswa lainnya seperti nama, alamat dan atribut lainnya.

Nomor Pegawai (NIP) bagi data dosen, NIK untuk data karyawan, Kode_Kuliah

untuk data Mata kuliah, dan lain sebagainya.

Jenis Atribut Pada Entitas

Atribut yang melekat pada suatu entitas ada bermacam tipe seperti yang akan

dijelaskan sebagai berikut :

Atribut Sederhana : atribut sederhana merupakan atribut atomik yang tidak

dapat lagi dipecah menjadi atribut lain. Contoh

Entitas mahasiswa mempunyai atribut sederhana berupa NIM, Nama

Mahasiswa .

Atribut Komposit : atribut komposit merupakan atribut yang masih dapat

dipecah menjadi sub-sub atribut yang masing-masing memiliki arti tersendiri.

Contoh : entitas mahasiswa mempunyai atribut alamat. Alamat disini dapat

dipecah menjadi sub atribut seperti nama_kota, kode_pos.

Atribut Bernilai Tunggal : yaitu atribut yang hanya memiliki satu nilai untuk

setiap barisnya.

Contoh : entitas mahasiswa mempunyai atribut NPM, Nama, Alamat isi data

dari atribut ini hanya boleh diisi dengan 1 data. Setiap mahasiswa hanya

memiliki 1 NPM, 1 Nama, 1 Alamat.

Atribut Bernilai Jamak : yaitu atribut yang boleh memiliki lebih dari satu nilai

untuk setiap barisnya.

Contoh : entitas mahasiswa mempunyai atribut Hobby isi data dari atribut ini

boleh lebih dari 1 data. Mahasiswa Roshita memiliki NPM 13402021

beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga,

Nyanyi, Masak dan Nonton TV)

Atribut Harus Bernilai : yaitu atribut yang harus memiliki nilai data untuk

setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan dalam

perancangan tabelnya sehingga jika dalam pengisian dokosongi akan terjadi

kesalahan.

Page 5: Laporan praktikum modul 5 (normalisasi)

Contoh : entitas mahasiswa mempunyai atribut NPM dan Nama_Mahasiswa

yang harus diisi datanya, sebab jika tidak diisi akan terjadi kekacauan dalam

basis data.

Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data untuk

setiap barisnya.

Contoh : entitas mahasiswa mempunyai atribut Alamat, Hobby, Nama_Pacar

yang boleh untuk tidak diisi tetapi kalau diisi akan lebih baik,

Atribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari pengolahan

atau dapat diturunkan dari atribut lain yang berkaitan.

Contoh : entitas mahasiswa mempunyai atribut IPK yang diperoleh dari

pengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NIM

mahasiswa yang sama dan diproses sehingga menghasilkan IPK untuk

mahasiswa yang bersangkutan.

Kebergantungan Fungsi

Kebergantungan Fungsi didefinisikan sebagai hubungan antara satu relasi

dengan relasi lainnya.

Misalnya : sebuah relasi R, atribut Y dan R adalah bergantung fungsi pada atribut

X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat

satu nilai Y dalam R (dalam setiap satu waktu). File relasi pegawai atribut berisi :

No Pegawai, No KTP, Nama, Tempat Lahir, Tgl Lahir, Alamat, Kota. Isi dari

atribut nama bergantung pada No Pegawai. Jadi dapat dikatakan bahwa atribut

nama bergantung secara fungsi pada No Pegawai dan Nomor Pegawai

menunjukkan secara fungsi nama. jika anda mengetahui no pegawai maka anda

dapat menentukan nama pegawai tersebut.

Isi dari atribut nama bergantung pada No Pegawai. Jadi dapat dikatakan bahwa

atribut nama bergantung secara fungsi pada No Pegawai dan Nomor Pegawai

menunjukkan secara fungsi nama. jika anda mengetahui no pegawai maka anda

dapat menentukan nama pegawai tersebut. Notasi untuk kebergantungan fungsi ini

adalah

Page 6: Laporan praktikum modul 5 (normalisasi)

Teknik Model Data Relasional ada 2 yaitu :

• Teknik Normalisasi

• Teknik Entity Relationship

Namun yang akan dibahas lebih lanjut adalah Teknik Normalisasi.

Teknik Normalisasi

Beberapa pengertian mengenai normalisasi :

Istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi

basis data. selain dipakai sebagai metodologi tersendiri untuk menciptakan

struktur tabel 9 relasi) dalam basis data (dengan tujuan utnuk mengurangi

kemubaziran data) , normalisasi terkadang hanya diipakai sebagai perangkat

verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain ( misalnya

E-R). Normalisasi memberikan panduan yang sangat membantu bagi

pengembang untuk mencegah penciptaan struktur tabel yang kurang fleksibel

atau mengurangi keflekxibelan.

Kroenke mendefinisikan normalisasi sebagai proses untuk mengubah suatu

relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih

yang tida memiliki masalah tersebut. Masalah yang dimaksud oleh kroenke ini

sering disebut dengan istilah anomali.

Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data /

database, teknik pengelompokkan atribut dari suatu relasi sehingga

membentuk struktur relasi yang baik (tanpa redudansi).

Normalisasi adalah suatu proses memperbaiki / membangun dengan model

data relasional, dan secara umum lebih tepat dikoneksikan dengan model data

logika.

Proses normalisasi adalah proses pengelompokan data elemen menjadi tabel-

tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi dilakukan

pengujian pada beberapa kondisi apakah ada kesulitan pada saat

menambah/menyisipkan, menghapus, mengubah dan mengakses pada suatu basis

data. Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi

Page 7: Laporan praktikum modul 5 (normalisasi)

pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum

optimal.

Tujuan dari normalisasi itu sendiri adalah untuk menghilangkan kerangkapan

data, mengurangi kompleksitas, dan untuk mempermudah pemodifikasian data.

Tahapan Normalisasi

II. PRAKTIKUM DAN PEMBAHSAN

Page 8: Laporan praktikum modul 5 (normalisasi)

1. Kasus Faktur Pembelian Baran

PT. Adiguna Komputer Faktur Pembelian Barang Jl. Siliwangi 300 Cijoho – Kuningan Kode Supplier : G01 Tanggal : 09/03/06 Nama Supplier : Grafika Nomor : 201 Kode Nama Barang Stok Harga Jumlah B01 DVD-RW 10 990.000 9.900.000 B02 HUB 10 455.000 4.550.000 Total Faktur 14450000 Jatuh Tempo : 12/03/06

PT. Adiguna Komputer Faktur Pembelian Barang Jl. Siliwangi 300 Cijoho – Kuningan Kode Supplier : H02 Tanggal : 02/02/06 Nama Supplier : ACC Nomor : 199 Kode Nama Barang Stok Harga Jumlah D01 TV-Combo 10 260.000 2.600.000 Total Faktur 2600000 Jatuh Tempo : 12/03/06

Bentuk UnNormalized

Caranya : Masukan semua field data yang ada

No.

Faktur

Kode.

Suppli

Nama

Suppli

Kode

Baran

Nama

Baran

Tanga

l

Jatuh

Temp

Sto

k

Harga Jumla

h

Total

Page 9: Laporan praktikum modul 5 (normalisasi)

er er g g o

199 H02 ACC D01

Tv-

Comb

o

02/02/

06

12/03/

0610

260.00

0

2.600.

000

2.600.

000

201 G01Grafik

aB01

DVD-

RW

09/03/

06

12/03/

0610

990.00

0

9.900.

000

14.450

.000

B02 HUB09/03/

06

12/03/

0610

455.00

0

4.550.

000

Keterangan:

Masih ada record yang tidak lengkap. Maka tabel diatas harus diubah

menjadi bentuk normal satu 1NF

Normal Satu 1NF

No.

Faktu

r

Kod

e.

Sup

plier

Nam

a

Sup

plier

Kod

e

Bar

ang

Nam

a

Bar

ang

Tan

gal

Jatu

h

Tem

po

St

ok

Har

ga

Jum

lah

Tota

l

199 H02 ACC D01

Tv-

Com

bo

02/0

2/06

12/0

3/0610

260.

000

2.60

0.00

0

2.60

0.00

0

201 G01Graf

ikaB01

DV

D-

RW

09/0

3/06

12/0

3/0610

990.

000

9.90

0.00

0

14.4

50.0

00

201 G01Graf

ikaB02

HU

B

09/0

3/06

12/0

3/0610

455.

000

4.55

0.00

0

Pembahasan:

Bentuk normal ke satu di atas memiliki kelemahan, yaitu :

1. Proses Inserting

Page 10: Laporan praktikum modul 5 (normalisasi)

Tidak dapat memasukan kode dan nama supplier saja tanpa ada

transaksi pembelian sehingga supplier baru dapat masuk jika ada

transaksi penghapusan.

2. Proses Deleting

Bila satu record diatas dihapus, misalnya Nomor faktur 199, maka

akibatnya data supplier H02 (ACC) ikut terhapus, padahal data

supplier tersebut masih diperlukan.

3. Proses Updating

Kode dan nama Supplier dituis berulang-ulang, bila suatu saat terjadi

perubahan nama supplier maka harus mengganti disemua record jika

ada yang terlewat maka akan berakibat inkonsistensi data.

4. Redunansi

Field jumlah merupakan redudancy, karena setiap kali harga dikalikan

dengan stok akan menghasilkan jumlah jika tidak dibuang maka

mengakibatkan inkonsistensi data. Tidak konsisten dikasus ini

disebabkan karena bila ada perubahan harga, hanya data harga yang

diubah sedangkan data jumlah tidak maka nilai jumlah tidak sama

dengan stok dikalikan harga.

Bentuk Bentuk Normal Kesatu mempunyai ciri yaitu setiap data

dibentuk dalam file flat, data dibentuk dalam satu record demi satu

record dan nilai dari field berupa “atomic value”. Tidak ada set atribut

yang berulang ulang atau atribut bernilai ganda (multi value). Tiap

field hanya satu pengertian, bukan merupakan kumpulan data yang

mempunyai arti mendua. Hanya satu arti saja dan juga bukanlah

pecahan kata kata sehingga artinya lain.

Maka dengan melihat kelemahan itu bentuk normal ke satu ini

harus dirubah ke dalam bentuk normal ke dua 2NF.

Bentuk normal ke dua 2NF

Pembentukan normal ke dua dengan cara mencari kunci-kunci field yang

sifatnya unik.

Page 11: Laporan praktikum modul 5 (normalisasi)

Dari tabel diatas dapat diambil kunci kandidat yaitu:

No Factur

Kode Supplier

Kode Barang

Dimana setiap filed bergatung penuh kepada Primary Key, maka bentuk

normal ke dua sebagai berikut:

Tabel Supplier

Tabel Barang

Tabel Nota

Pembahasan:

Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah

memenuhi kriteria bentuk Normal Kesatu. Atribut bukan kunci

haruslah bergantung secara fungsi pada kunci utama, sehingga untuk

membentuk Normal Kedua haruslah sudah ditentukan kunci-kunci

Page 12: Laporan praktikum modul 5 (normalisasi)

field. Kunci field harus unik dan dapat mewakili atribut lain yang

menjadi anggotanya.

Namun permasalahan masih ada! yaitu pada tabel NOTA :

Field stok dan harga tidak bergantung penuh pada kunci Primary

No Factur tetapi berganrung fungsi pada kode barang. Hal ini

disebut dengan ketergantungan yang transitif dan harus dipisahkan

dalam dua tabel.

Masih terdapat redudancy, yaitu setiap kali satu nota yan terdiri

dari 5 macam barang yang dibeli maka 5 kali pula dituliskan nomor

faktur, tanggal, tempo dan total. Ini harus pula dipisahkan bila

terjadi penggandaan berulang-ulang.

Bentuk Normal ketiga 3NF

Bentuk 3NF mempunyai syarat setiap tabel tidak mempunyai field yang

bergantung transitif, harus bergantung penuh pada kunci utama.

Maka terbentuklah tabel sebagai berikut:

Tabel Supplier

Tabel Barang

Tabel Nota

Tabel Transaksi

Page 13: Laporan praktikum modul 5 (normalisasi)

Pembahasan:

Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam

bentuk Normal Kedua dan semua atribut bukan primer tidak punya

hubungan yang transitif. Artinya setiap atribut bukan kunci harus

bergantung hanya pada kunci primer secara menyeluruh. Contoh pada

bentuk Normal kedua di atas termasuk juga bentuk Normal Ketiga karena

seluruh atribut yang ada di situ bergantung penuh pada kunci primernya.

Page 14: Laporan praktikum modul 5 (normalisasi)

III.TUGAS PRAKTIKUM

Buatlah Bentuk Normalisasi dari dokumen berikut ini

Kartu Pengobatan Masyarakat No Pasien : 1234/PO/IV/99 Tanggal Pendaftaran : 1 Mei 1999 Data Pasien dari, NOPEN : 1000019999 Nama Pasien : Bactiar Jose Alamat Pasien, Jalan : Kebon Jeruk No,27 Kelurahan : Palmerah Kecamatan : Kemanggisan Wilayah : Jakarta Barat Kode Pos : 11530 Telepon : 5350999 Tgl Periksa

Kode Dokter

Nama Dokter

Kode Sakit

Deskripsi sakit

Kode Obat

Nama Obat

Dosis

1/5/99 D01 Dr Zurmaini

S11 Tropicana B01 B02

Sulfa Anymiem

3dd1 4dd1

4/7/99 D01 Dr Zurmaini

S12 Ulcer Triombis

B01 B03

Sulfa Supralin

3dd2 3dd1

4/4/99 D02 Dr Harjono

S12 Ulcer Triombis

B01 B03

Adrenalin 4dd2

7/8/99 D04 Dr Mahendra

S12 Ulcer Triombis

B01 B03

Sulfa Anymiem Supralin

3dd2 4dd2 3dd1

Penerima Pasien

Ttd (Agus)

Bentuk UnNormalized

Caranya : Masukan semua field data yang ada

Page 15: Laporan praktikum modul 5 (normalisasi)

Bentuk Normal Pertama (1NF)

Pembahasan:

Bentuk Bentuk Normal Kesatu mempunyai ciri yaitu setiap data

dibentuk dalam file flat, data dibentuk dalam satu record demi satu record

dan nilai dari field berupa “atomic value”. Tidak ada set atribut yang

berulang ulang atau atribut bernilai ganda (multi value). Tiap field hanya

satu pengertian, bukan merupakan kumpulan data yang mempunyai arti

mendua. Hanya satu arti saja dan juga bukanlah pecahan kata kata

sehingga artinya lain.

Namun bentuk Normal Kesatu ini mempunyai banyak kelemahan

diantaranya yaitu :

• Penyisipan data

No Pendaftaran dan Nama Pasien tidak bisa ditambahkan tanpa adanya

transaksi pengobatan.

• Penghapusan data

Jika salah satu record dihapus maka semua data yang ada di situ akan

terhapus juga.

• Pengubahan data

Data pasien ditulis berkali-kali (no pasien dan nama pasien). Jika suatu

saat terjadi perubahan Nama pasien maka harus mengganti semua

record yang ada data supliernya. Bila tidak maka akan terjadi

inkonsistensi.

Page 16: Laporan praktikum modul 5 (normalisasi)

Bentuk Normal Kedua (2NF)

No Pasien

KodeDokter

KodeSakit

TabelPasien TabelDokter

TabelPenyakit

* No PasienNamaPasienNOPENAlamatKodePosTglDaftarTelepon

* KodeDokterNamaDokterTglPeriksa

* KodeSakitDeskripsiSakitKodeObatNamaObatDosis

**No Pasien**KodeDokter

Page 17: Laporan praktikum modul 5 (normalisasi)

Pembahasan:

Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah

memenuhi kriteria bentuk Normal Kesatu. Atribut bukan kunci haruslah

bergantung secara fungsi pada kunci utama, sehingga untuk membentuk

Normal Kedua haruslah sudah ditentukan kunci-kunci field. Kunci field

harus unik dan dapat mewakili atribut lain yang menjadi anggotanya.

Namun permasalahan masih ada! yaitu pada tabel NOTA :

Nama obat dan dosis tidak bergantung penuh pada kunci Primary Kode

Sakit tetapi berganrung fungsi pada kode Obat. Hal ini disebut dengan

ketergantungan yang transitif dan harus dipisahkan dalam dua tabel.

Masih terdapat redudancy

Bentuk Normal Ketiga (3NF)

Bentuk 3NF mempunyai syarat setiap tabel tidak mempunyai field yang

bergantung transitif, harus bergantung penuh pada kunci utama. Maka

terbentuklah tabel sebagai berikut:

Page 18: Laporan praktikum modul 5 (normalisasi)

Pembahasan:

Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam

bentuk Normal Kedua dan semua atribut bukan primer tidak punya

hubungan yang transitif. Artinya setiap atribut bukan kunci harus

bergantung hanya pada kunci primer secara menyeluruh. Contoh pada

bentuk Normal kedua di atas termasuk juga bentuk Normal Ketiga karena

seluruh atribut yang ada di situ bergantung penuh pada kunci primernya.

Terlihat bahwa atribut yang bukan key pada setiap tabel diatas bergantung

pada primary key.

Page 19: Laporan praktikum modul 5 (normalisasi)

IV. KESIMPULAN

Dari praktikum diatas dapat diambil kesimpulan bahwa normalisasi

bertujuan untuk menghilangkan kerangkapan data, untuk mengurangi

kompleksitas dan untuk mempermudah pemodifikasian data. Dan pembuatan

normalisasi pada sebuah kasus mempunyai tahapan – tahapan sebagai berikut :

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

Page 20: Laporan praktikum modul 5 (normalisasi)

V. DAFTAR PUSTAKA

Ali, Muhammad. 1995. Materi Kuliah Basis Data. Jakarta.

http://ranykusnaningsih.blogspot.com/2009/02/teknik-perancangan-basis-

data.html

http://teknik-informatika.com/perancangan-basis-data/

www.google.com