laporan praktikum modul 5 (normalisasi)
TRANSCRIPT
LAPORAN PRAKTIKUMSISTEM & TEKNOLOGI BASIS DATA
MODUL VNORMALISASI
DISUSUN OLEHNAMA : DEVINIM : 2012081043KELAS : TI2012A
LABORATORIUM KOMPUTERFAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN2013
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.
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
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.
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
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
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
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
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
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.
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
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
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.
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
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.
Bentuk Normal Kedua (2NF)
No Pasien
KodeDokter
KodeSakit
TabelPasien TabelDokter
TabelPenyakit
* No PasienNamaPasienNOPENAlamatKodePosTglDaftarTelepon
* KodeDokterNamaDokterTglPeriksa
* KodeSakitDeskripsiSakitKodeObatNamaObatDosis
**No Pasien**KodeDokter
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:
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.
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
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