Rabu, 25 September 2013

modul basis data



BAB I

SISTEM BASIS DATA



1.1  Hirarki Pembentukan Basis Data
Character                        Field                Record                        File             Database
1.2  Definisi
a.       Character adalah huruf, angka, atau symbol
b.      Field adalah kumpulan dari beberapa character (biasanya disebut item data)
c.       Data Value adalah data aktual yang tersimpan pada setiap elemen data atau field
d.      Record adalah kumpulan dari beberapa field yang menyatakan satu kesatuan arti dari entitas tertentu
e.       File adalah kumpulan dari beberapa record yang menyatakan sekumpulan field yang terorganisasi untuk maksud tertentu. File disimpan pada media penyimpanan sekunder. File mempunyai nama dan struktur yang dikenal oleh system operasi sehingga dapat diakses oleh program.
f.       Database (Basis Data) adalah kumpulan dari beberapa file yang saling berelasi yang membentuk suatu bangunan data yang mengiformasikan suatu instansi tertentu dalam batasan tertentu.
Sebagai ilustrasi perhatikan gambar 1.1 berikut:








Gambar 1.1 : Basis Data
1.3  Komponen Basis Data
Komponen-komponen utama basis data empat, yaitu:
a.       Perangkat Keras (Hardware)/ Komputer
Berupa komputer dan bagian-bagian didalamnya, seperti Prosesor, Memori,  Hard disk, dan perangkat pendukung lainnya.
b.      Data
Yaitu data actual yang tersimpan di dalam basis data
c.       Perangkat Lunak (Software)/ Program
Adalah perangkat lunak yang digunakan untuk mengakses basis data, beserta denan sistem operasinya.
d.      Pengguna (Brain ware)
Adalah orang yang terlibat di dalam pengolahan basis data

1.4        Operasi Dasar Basis Data
Operasi-operasi dasar dalam basis data, antara lain:
a.       Pembuatan basis data baru
b.      Penghapusan basis data
c.       Pembuatan tabel baru
d.      Penghapusan tabel
e.       Memasukkan data dalam tabel
f.       Memperbaiki/ memperbaharui data yang tersimpan di tabel
g.      Pengambilan data tertentu/ keseluruhan dalam tabel
h.      Menghapus data yang tersimpan dalam tabel.

1.5        Kegunaan Basis Data
Penyusunan basis data bertujuan untuk mengatasi masalah-masalah yang muncul pada pengolahan data berbasis kertas, yaitu antara lain:
a.       Redundansi (Duplikasi data yang tidak perlu) dan Inkonsistensi Data
Yaitu munculnya data yang sama secara berulang-ulang pada basis data. Sebagai contoh: Nama, Alamat, dan Nomor Telepon dari seorang Nasabah Bank tercatat pada file Deposito, Rekening Koran, dan juga pada File Nasabah.
Penyimpanan data yang sama secara berulang-ulang dibeberapa file dapat mengakibatkan terjadinya inkonsistensi (tidak konsisten). Sebagai contoh: jika Nasabah tersebut pindah alamat dan berupah nomor teleponnya, maka perubahan harus dilakukan pada  ketiga file yang bersangkutan. Jika tidak, maka akan terjadi perbedaan data yang dapat mengakibatkan kesalahan pada transaksi berikutnya.
b.      Kesulitan dalam pengaksesan data
Adakalanya kita membutuhkan informasi tertentu pada bagian tertentu, sebagai contoh kita membutuhkan data Pegawai Golongan I dan beralamat di Pringsewu. Sebuah Basis Data yang baik harus mampu menjawab semua kebutuhan akan data.
c.       Isolasi data untuk standarisasi
Tersebarnya data pada berbagai file dengan format yang berbeda akan mempersulit kita jika akan menggabungkan data tersebut.  Sebagai contoh data Nama dan Alamat dari seorang nasabah tersebar di beberapa file dengan format yang berbeda (file Nasabah ada di Word, file Rekening Koran dan Deposito ada di Excell) maka ketika data akan dijadikan satu akan mengalami kesulitan sebab format datanya berbeda.
Untuk itu Basis Data memberikan solusi dengan terlebih dahulu mengisolasi data dengan menentukan terlebih dahulu format datanya, yang kemudian data yang sudah diisolasi tersebut dijadikan format standar.
d.      Banyak Pemakai
Hal ini terutama pada basis data yang berbasis jaringan yang dewasa ini sedang marak.
e.       Keamanan
Keamanan data diperlukan untuk melindungi data dari orang-orang yang tidak bertanggung jawab, bencana alam, dan lain sebagainya.
f.       Kesatuan data
Walaupun data tersebar di beberapa file tetapi pada hakikatnya merupakan satu kesatuan yang dibungkus dalam satu basis data.




1.6  Abstraksi Data
Abstaraksi data merupakan pandangan abstrak terhadap basis data bagi pengguna yang disediakan oleh DBMS, hal ini bertujuan untuk mempermudah pemakai untuk memahami data. Abstraksi data dalam DBMS di bagi menjadi 3, yaitu:
a.       Level fisik, merupakan level terendah dalam abstraksi data. Level ini menjelaskan bagaimana data disimpan, diorganisasikan, dan struktur datanya dijabarkan secara terperinci.
b.      Level Konseptual, berada pada tingkat yang lebih tinggi dari level fisik. Level ini menjabarkan data apa saja yang sesungguhnya disimpan dalam basis data, juga menjabarkan hubungan antar data.
c.       Level Pandangan, merupakan level paling tinggi dibanding dengan 2 level sebelumnya. Pada level ini pengguna hanya mengenal struktur data yang sederhana, dan berorientasi pada pengguna. Data yang dibutuhkan oleh pengguna bisa berbeda-beda atau sama, bahkan mungkin hanya sebagian dari data tersebut.
 









Gambar 1.2 : Level Abstraksi Data







1.7        Model Basis Data
Model basis data menyatakan relasi antar data yang tersimpan. Model dasar basis data ada 3 yaitu:
a.       Model Hirarki
b.      Model Jaringan
c.       Model Relasional

a.       Model Hirarki
Model hirarki merupakan diagram pohon terbalik. Model ini menggunakan pola hubungan orang tua dan anak. Setiap simpul (biasanya dinyatakan dalam bentuk kotak atau lingkaran) menyatakan sekumpulan data.
Sebagai contoh berikut digambarkan hirarki hubungan antara Dosen Mata Kuliah dan Mahasiswa pada sebuah Perguruan Tinggi.
 









Gambar 1.3 : Hirarki Perkuliahan
Dari gambar diatas dapat dijelaskan bahwa yang bertindak sebagai akar adalah dosen, yang mana dosen membawahi Mata Kuliah dan Mata Kuliah membawahi Mahasiswa.

b.      Model Jaringan
Model yang kedua ini hampir menyerupai model hirarki, namun pada model ini satu simpul anak bisa memiliki lebih dari satu anak. Sebagai ilustrasi perhatikan gambar dibawah ini
 









Gambar 1.4 : Jaringan Perkuliahan

c.       Model Relasional
Model Relasional adalah model basis data yang paling sederhana dan yang paling sering dipakai dalam penerapan basis data.
Pada model ini data digambarkan dalam bentuk tabel dua dimensi yang terdiri dari baris dan kolom.
Untuk lebih jelasnya coba anda perhatikan tabel dibawah ini:
NIP
Dosen
Kode
Kuliah
NPM
Nama_Mhs
111401211
Irwansyah
MKK-21421
Basis Data
05231101
Rani
111401211
Irwansyah
MKK-21421
Basis Data
05231120
Imam
111401211
Irwansyah
MKK-21215
Flowchart
05231120
Imam
111401211
Irwansyah
MKK-21215
Flowchart
05231122
Rahmad
111401211
Irwansyah
MKK-21215
Flowchart
05231127
Rena
111401231
Aca
MKK-21217
Matematika
05231122
Rahmad
111401231
Aca
MKK-21217
Matematika
05231127
Rena
111401231
Aca
MKK-21217
Matematika
05231150
Santi
Tabel 1.1 : Tabel Perkuliahan

 

BAB II

KONSEP DASAR

PERANCANGAN BASIS DATA

 

Pada bab ini kita akan membahas konsep dasar perancangan basis data pada model basis data relasional (tabel relasi).

2.1    Atribut Kunci (Key Field)
Pada dasarnya, key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data dalam tabel secara unik. Artinya, jika suatu atribut dijadikan sebagai key, maka tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk atribut tersebut.

Ada minimal 3 key yang dikenal dalam perancangan basis data, yaitu:
a.       Kunci Primer (Primary Key)
b.      Kunci Alternatif (Alternative Key)
c.       Kunci Tamu (Foreign Key)

a.       Kunci Primer
Kunci primer adalah satu atribut atau lebih yang dapat mengidentifikasi suatu baris data secara unik dan dapat mewakili setiap akses data dari suatu tabel. Kunci primer untuk suatu tabel diambil dari atribut yang paling unik.

Fungsi dari kunci primer:
1)      Sebagai Identitas
2)      Pengurutan Data
3)      Pencarian Data
4)      Sebagai tamu jika terjadi relasi antar tabel



Contoh:
·         Tabel Karyawan
NIK berfungsi sebagai Kunci Primer, sebab dalam suatu perusahaan tidak mungkin ada pegawai yang mempunyai NIK yang sama, jika terjadi NIKnya kembar maka telah terjadi kesalahan dalam pengurutan data NIK.

·         Tabel Barang
Kode Barang merupakan kunci primer, karena Kode Barang adalah atribut yang paling unik.

b.      Kunci Alternatif
Kunci alternatif adalah satu atau lebih atribut yang dapat digunakan sebagai kunci kedua yang digunakan untuk mewakili suatu akses data pada tabel. Kunci alternatif untuk suatu tabel diambil dari atribut yang tingkat keunikannya satu tingkat dibawah kunci primer.

Fungsi kunci alternatif:
1)      Pengurutan Data
2)      Pencarian Data
Contoh
·         Pada Tabel Karyawan
Nama Karyawan dapat dijadikan sebagai kunci alternatif jika karyawan tersebut tidak diketahui NIKnya untuk keperluan akses data.
·         Pada Tabel Barang
Nama Barang dapat dijadikan kunci alternatif karena untuk keperluan akses data bisa dipakai jika kode barangnya tidak diketahui.

c.       Kunci Tamu
Kunci tamu merupakan kunci primer tabel satu yang diletakkan pada tabel dua yang bertindak sebagai kunci relasi. Kegunaan dari kunci tamu adalah untuk melengkapi relasi antar tabel pada suatu basis data.
Contoh:
Terdapat dua tabel yaitu tabel pegawai dan tabel bagian. Tabel pegawai mempunyai kunci primer yaitu NIP dan tabel bagian mempunyai kunci primer yaitu kode bagian.  Untuk keperluan relasi maka kode bagian diletakkan pada tabel pegawai, dalam hal ini kode bagian merupakan tamu bagi tabel pegawai. Untuk lebih jelasnya perhatikan tabel dibawah ini.

Tabel Pegawai
NIP
Nama
Alamat
TTL
Kd_Bag
111401121
Budiman
Jl. Pagar Ayu No. 5 Balik Papan
Tenggarong, 20-3-1980
ADM
111401122
Rahman
Jl. Cengkeh No. 5 Balik Papan
Minahasa, 3-4-1975
PRS
111401123
Yanti
Jl. Mawar No. 75 Balik Papan
Ambon, 9-9-1975
ADM
Tabel Bagian
Kd_Bag
Nm_Bag
ADM
Administrasi
PRS
Personalia
KEU
Keuangan

Tabel 2.1 : Kunci Tamu

2.2  Kardinalitas/ Derajat relasi
Relasi yang terjadi dalam dua tabel (himpunan entitas) dapat dikategorikan menjadi 3 macam, yaitu:
a.       Relasi 1:1
Setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, dan begitu juga sebaliknya.
 A                                                         B
 


Gambar 2.1 : Relasi 1:1
b.      Relasi 1:N/ N:1
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya.
Setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A, tetapi tidak sebaliknya.
                                        B                          A
         A                                                                                             B



Gambar 2.2 : Relasi 1:N/ N:1

c.       Relasi N:N
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, dan sebaliknya.
                                 A                                             B
                    



Gambar 2.3 : Relasi N:N

2.3    Aturan Pemasangan Kunci Relasi
Dalam perancangan basis data kita harus memperhatikan aturan penenpatan kunci relasi. Pemasangan kunci relasi ditentukan berdasarkan derajat relasi yang terjadi antar tabel tersebut.

Adapun aturan pemasangan kuncinya adalah sebagai berikut:
a.       Jika relasi yang terjadi adalah 1:1 maka kunci primer dari kedua tabel yang berelasi diletakkan pada tabel pasangannya masing-masing, atau kedua tabel tersebut dijadikan satu tabel.
Contoh :
·         Terdapat dua tabel yaitu Kelas dan Wali kelas yang mana relasinya adalah 1:1 (satu kelas hanya mempunyai satu wali kelas dan satu wali kelas hanya mengepalai satu kelas saja).

 

                                         


Gambar 2.4 : Tabel Kelas dan Wali Kelas
Untuk merelasikan tabel diatas maka kita dapat menggabungkan kedua tabel tersebut seperti pada gambar 2.5 berikut
 





Gambar 2.5 : Gabungan tabel Kelas dan Wali Kelas
b.      Jika relasinya 1:N/ N:1 maka kunci primer dari tabel yang derajat relasinya satu diletakkan pada tabel yang derajat relasinya banyak.
Contoh
·         Terdapat dua tabel yang saling berelasi yaitu Bagian dan Karyawan dengan masing – masing atribut:
Bagian             : Kd_Bag, Nm_Bag
Karyawan        : NIK, Na_Kar, Alamat, Status
Relasi yang terjadi adalah 1:N (dalam satu bagian terdapat banyak karyawan sedang satu orang karyawan hanya menempati satu bagian).
Dari relasi tersebut maka penyelesaiannya adalah sebagai berikut:
 





Gambar 2.6 : Tabel Relasi 1:N


c.       Jika relasinya N:N maka akan terbentuk tabel baru sebagai konektor antar kedua tabel tersebut. Isi dari tabel baru tersebut adalah kunci primer dari kedua tabel ditambah dengan atribut lain yang terbentuk akibat relasi. Adapun relasi baru yang terbentuk antara tabel induk dan konektor adalah relasi 1:N.
Contoh:
·         Terdapat dua tabel yang saling berelasi yaitu Mahasiswa dan Mata Kuliah dengan atribut masing-masing sebagai berikut:
Mahasiswa      : NPM, Nama, Alamat
Mata Kuliah    : Kd_Kul, Nm_Kul, Sks
Relasi yang terjadi adalah N:N (satu orang mahasiswa menempuh banyak mata kuliah dan satu mata kuliah tempuh oleh banyak mahasiswa).
Dari contoh diatas penyelesaianya adalah sebagai berikut:
 










Gambar 2.7 : Tabel relasi N:N

           

 

BAB III

PERANCANGAN BASIS DATA

 


Dalam perancangan basis data kita mengenal ada beberapa teknik perancangan namun untuk memfokuskan pembahasan kita hanya membahas dua teknik yang paling sering digunakan yaitu teknik Entity Relationship Diagram (ERD) dan teknik Normalisasi.

3.1    Entity Relationship Diagram
Entity Relationship Diagram adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaharuan basis data.

Entity Relationship Diagram pertama kali dikemukakan oleh Chen (1976) yang mana model ini merupakan persepsi dunia nyata yang terdiri dari objek-objek dasar yang disebut entitas dan keterhubungan (relationship) antar entitis-entitas itu.

Komponen-komponen pokok Entity Relationship Diagram adalah sebagai berikut:
a.       Entitas yang dilambangkan dengan persegi panjang yang merepresentasikan Orang (Pegawai, Dosen, Mahasiswa, dll), Barang, Konsep, dll.
b.      Relationship  yang dilambangkan dengan Belah Ketupat  yang merepresentasi-kan hubungan antar entitas.
c.       Atribut/ Properti dilambangkan dengan Elips/ Lingkaran Lonjong merepsentasikan Atribut yang terdapat dalam entitas dan relationship.
d.      Penghubung yang dilambangkan dengan garis merepresentasikan penghubung antara entitas dengan atribut dan entitas dengan Relationship.
e.       Derajat relasi yang dapat dinyatakan dengan angka 1 (One) dan huruf  N (Many).


 



Gambar 3.1 : Simbol Entity Relationship Diagram

Langkah-langkah teknis yang dilakukan untuk menghasilkan Entity Relationship Diagram adalah sebagai berikut:
a.       Mengidentifikasi dan menetapkan seluruh file/ entitas yang akan terlibat
b.      Menentukan Primary Key untuk setiap entitas.
c.       Melengkapi atribut bukan kunci sesuai dengan ketergantungan fungsional pada entitas masing-masing.
d.      Menentukan derajat relasi antar entitas.
e.       Pemasangan kunci relasi
f.       Melengkapi entitas/ relasi dengan atribut sisa (jika ada).
Contoh
Dengan teknik Entity Relationship Diagram buatlah rancangan basis data “Perkuliahan” dari kumpulan atribut berikut:
Field
Keterangan
Kd_Jur
Nm_Jur
Prog_Studi
NPM
Nm_Mhs
Al_Mhs
Jk_Mhs
T_Lahir
Tgl_Lahir
Kd_Mk
Nm_Mk
SKS
Nilai

NID
Nm_Ds
Al_Ds
No_Telp
Kode Jurusan
Nama Jurusan
Program Studi
Nomor Pokok Mahasiswa
Nama Mahasiswa
Alamat Mahasiswa
Jenis Kelamin
Tempat Lahir
Tanggal Lahir
Kode Mata Kuliah
Nama Mata Kuliah
Beban SKS
Nilai yg di dapat oleh mahasiswa dlm menempuh mata kuliah.
Nomor Induk Dosen
Nama Dosen
Alamat Dosen
Nomor Telepon/ HP



Ketentuan Relasi:
1.      Satu orang mahasiswa mempunyai satu jurusan dan dalam satu Jurusan terdapat banyak mahasiswa
2.      Satu orang mahasiswa mempelajari banyak mata kuliah dan satu mata kuliah dipelajari oleh banyak mahasiswa
3.      Satu Orang dosen dapat mengajar lebih dari satu mata kuliah dan satu mata kuliah hanya diajarkan oleh satu dosen
Berdasarkan data diatas rancanglah basis data dengan teknik Entity Relationship Diagram!
Penyelesaian:
a.       Berdasarkan data diatas dapat diidentifikasikan bahwa entitas yang terlibat adalah Jurusan, Mahasiswa, Mata Kuliah, Dosen. Untuk itu kita bisa menggambarkan entitas tersebut seperti pada gambar berikut:
 


Gambar 3.2 : Entitas
b.      Setelah entitasnya terbentuk langkah kedua adalah menentukan kunci primer, dalam hal ini kita bisa melihat pada gambar dibawah ini:



Gambar 3.3 : Pemasangan Kunci Primer
c.       Langkah berikutnya adalah kita melengkapi atribut bukan kunci berdasarkan ketergantungan fungsi dari masing masing entitas, perhatikan gambar berikut ini:

Oval: Tgl_Lahir
 










Gambar 3.4 : Pemasangan atribut lain yang terlibat
Catatan: Nilai tidak diikut sertakan disini karena nilai ketergantungan fungsi kepada NPM, Kd_Mk (Mahasiswa mempelajari mata kuliah baru mendapatkan nilai).
d.      Selanjutnya kita menentukan derajat relasi dari masing-masing entitas, untuk jelasnya kita lihat pada gambar berikut:
Oval: Tgl_Lahir 













Gambar 3.5 : Pemasangan Relasi dan Derajat Relasi
e.       Berikutnya adalah pemasangan kunci relasi, untuk lebih jelasnya perhatikan gambar berikut





Oval: Tgl_Lahir 













Gambar 3.6 : Pesangan Kunci Relasi
f.       Oval: Tgl_LahirLangkah terakhir adalah menambahkan atribut yang belum terpasang sebalumnya (jika ada), dalam hal ini masih terdapat satu atribut yang belum terpasang yaitu nilai, yang mana nilai ditentuka berdasarkan NPM yang berelasi dengan Kd_Mk. Untuk lebih jelasnya perhatikan gambar dibawah ini.












Gambar 3.7 : Melengkapi Atribut yang belum terpasang
Latihan
Buatlah ERD dari data dibawah ini
1.      Rumah Sakit
Field
Keterangan
No_Pas
Nm_Dokter
Kd_Dokter
Kamar
Nm_Pas
No_Kamar
Biaya
Penyakit
Nomor Pasien
Nama Dokter
Kode Dokter
Nama Kamar
Nama Pasien
Nomor Kamar
Biaya Inap Perhari
Nama Penyakit















2.      Sekolah
Field
Keterangan
Kelas
Wali_Kelas
Nama
Alamat
NISN
Nomor_Kwi
Pembayaran
Total
Kelas
Nama Wali Kelas
Nama Siswa
Alamat Siswa
Nomor Induk Siswa Nasional
Nomor Kwitansi Pembayaran
Jenis Pembayaran
Total Pembayaran



3.      Pembelian Motor
Field
Keterangan
No_Pel
Merek
Type
Harga
Nama
Alamat
Pekerjaan
Tgl_Beli
Bonus
Kd_Motor
Nomor Pelanggan
Merek Motor
Type Motor
Harga Cash
Nama Pelanggan
Alamat Pelanggan
Pekerjaan
Tanggal Pembelian
Bonus setiap pembelian motor
Kode Motor





4.      Buku
Field
Keterangan
ID_Pengarang
Judul
Jlh_Hal
Kd_Buku
Nm_Pengarang
Kd_Penerbit
Penerbit
No_Lemari
Kategori
ID Pengarang
Judul Buku
Jumlah Halaman
Kode Buku
Nama Pengarang
Kode Penerbit
Penerbit
Nomor Lemari
Kategori untuk setiap lemari



5.      Pegawai
Field
Keterangan
NIP
Golongan
Pangkat
Gaji_Pokok
Tunjangan
Nama
Alamat
TMT
Nomor Induk Pegawai
Golongan
Pangkat
Gaji Pokok
Tunjangan
Nama Pegawai
Alamat
Terhitung Mulai Terangkat



6.      Ujian
Field
Keterangan
Nama
No_Tes
Ruang
Hari
Penguji
ID_Penguji
Nama Peserta
Nomor Tes
Ruangan
Hari
Penguji
ID Penguji









3.2    Normalisasi
Salah satu teknik yang paling sering digunakan dalam perancangan basis data adalah teknik normalisasi. Normalisasi adalah suatu proses pemisahan tabel yang bermasalah (Anomali) menjadi dua atau lebih tabel yang tidak mengalami masalah tersebut.

Ada 3 jenis anomali dalam tabel yaitu:

a.       Anomali Insert
Anomali insert/penyisipan terjadi jika pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih kosong dan elemen data tersebut justru menjadi kunci. Sebagai contoh terdapat tabel yang berisi tiga buah atribut.
Kuliah
Ruang
Tempat
Jaringan Komputer
Merapi
Gedung Utara
Pengantar Basis Data
Merbabu
Gedung Utara
Matematika I
Rama
Gedung Selatan
Sistem Pakar
Sinta
Gedung Selatan
Kecerdasan Buatan
Merapi
Gedung Utara
Tabel 1.1 : Relasi Kuliah, Ruang dan Tempat
Relasi diatas menyatakan bahwa:
-          Kuliah menggunakan ruang tertentu (misalnya Jaringan Komputer menggunakan ruang Merapi), dan
-          Suatu ruang berada pada tempat tertentu (misalnya ruang Merapi terdapat pada Gedung Utara).
Misalnya, bagaimana caranya menyimpan fakta bahwa ruang baru bernama Arjuna terdapat pada Gedung Selatan? Penyisipan tidak dapat dilakukan mengingat tak ada informasi kuliah yang menggunakan ruang tersebut.

b.      Anomali Update
Anomali update/ peremajaan terjadi bila ada pengubahan pada sejumlah data, tetapi tidak seluruhnya diubah. Sebagai contoh, terdapat relasi Pesanan Beli yang mengandung data Peemasok dan Kota yang menyatakan lokasi pemasok, barang dan Jumlah yang menyatakan nama barang dan jumlah barang yang dipesan.

Pemasok
Kota
Barang
Jumlah
Kartika
Jakarta
Monitor GGG
10
Citra
Bandung
ZIP-Drive
4
Candra
Jakarta
Keyboard
5
Citra
Bandung
Mouse CCP
25
Tabel 3.2 : Relasi Pesan Beli
Seandainya pemasok Citra pindah alamat Bogor, dan pengubahan hanya dilakukan pada data pertama, maka hasilnya adalah sebagai berikut:
Pemasok
Kota

Barang

Jumlah
Kartika
Jakarta
Monitor GGG
10
Citra
Bogor
ZIP-Drive
4
Candra
Jakarta
Keyboard
5
Citra
Bandung
Mouse CCP
25
Tabel 3.3 : Relasi Pesan Beli setelah adanya perubahan
Pada tabel diatas terdapat data yang tidak konsisten, yaitu fakta pertama menyatakan pemasok Citra berlokasi di Bogor, tetapi fakta kedua menyatakan bahwa pemasok Citra beralamat di Bandung.

c.       Anomali Delete
Anomali delete/ penghapusan terjadi jika sekiranya sesuatu baris (Tupel) yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang.

No_Siswa
Nama_Kursus
Biaya
10
Bahasa Inggris
60.000
10
Bahasa Prancis
80.000
10
Bahasa Mandarin
60.000
15
Bahasa Inggris
60.000
20
Bahasa Jepang
65.000
Tabel 3.4 : Relasi Siswa, Kursus dan Biaya
Pada contoh diatas apa yang terjadi seandainya data bahwa siswa dengan identitas 20 yang mengambil kursus Bahasa Jepang di hapus? Data yang menyatakan  bahwa biaya kursus Bahasa Jepang sebesar 65.000 juga akan terhapus!.
No_Siswa
Nama_Kursus
Biaya
10
Bahasa Inggris
60.000
10
Bahasa Prancis
80.000
10
Bahasa Mandarin
60.000
15
Bahasa Inggris
60.000
Tabel 3.5 : Relasi Siswa, Kursus dan Biaya setelah dilakukan penghapusan
Tahap-tahap Normalisasi
a.       Tahap Normal Pertama
Bentuk normal pertama biasanya dikenakan pada tabel yang belum ternormalisasi. Tabel yang belum ternormalisasi adalah tabel yang memiliki atribut yang berulang. Sebagai contoh, berikut adalah data dalam keadaan belum ternormalisasi.
NIP
Nama
Jabatan
Keahlian
Lama
107
Ilham
Analis Senior
Delphi
VB
6
1
109
Rian
Analis Senior
Delphi
Foxpro
2
2
112
Fika
Programmer
Delphi
Foxpro
Web Program
1
1
1
Tabel 3.6 : Relasi Umum
Bentuk tabel diatas disebut dengan Relasi Umum yang mana dalam satu baris terdapat dua nilai.
Suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris.
Dari data pada tabel diatas perlu diubah menjadi relasi sebagaiman terlihat pada tabel dibawah ini:
NIP
Nama
Jabatan
Keahlian
Lama
107
Ilham
Analis Senior
Delphi
6
107
Ilham
Analis Senior
VB
1
109
Rian
Analis Senior
Delphi
2
109
Rian
Analis Senior
Foxpro
2
112
Fika
Programmer
Delphi
1
112
Fika
Programmer
Foxpro
1
112
Fika
Programmer
Web Program
1
Tabel 3.7 : Relasi yang berada pada Normal Pertama
b.      Tahap Normal Kedua
Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika:
-          berada pada bentuk normal pertama
-          semua atribut bukan kunci memiliki depedensi sepenuhnya terhadap kunci primer.
Pada tabel normal pertama diatas tidak tergolong sebagai bentuk normal kedua, meskipun memenuhi persyaratan bentuk normal pertama. Perhatikan Nama dan Jabatan mempunyai depedensi sepenuhnya kepada NIP, namun tidak demikian dengan Keahlian dan Pengalaman.
Berdasarkan kenyataan diatas maka untuk merubah dari bentuk normal pertama ke normal kedua kita harus melakukan dekomposisi (pemisahan) tabel seperti pada tabel dibawah ini:

NIP

Keahlian
Lama
107
Delphi
6
107
VB
1
109
Delphi
2
109
Foxpro
2
112
Delphi
1
112
Foxpro
1
112
Web Program
1

 
Tabel 1 (Pegawai)                                     Tabel 2 (Keahlian)
NIP
Nama
Jabatan
107
Ilham
Analis Senior
109
Rian
Analis Senior
112
Fika
Programmer


Tabel 3.8 : Relasi pada Normal Kedua
c.       Tahap Normal Ketiga
Suatu relasi dikatakan dalam bentuk normal ketiga jika:
-          Berada dalam bentuk normal kedua
-          Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer
Contoh suatu relasi yang memenuhi bentuk normal kedua tetapi tidak memenuhi bentuk normal ketiga
No. Pesanan
No. Urut
Kode Item
Nama Item
50001
0001
P1
Pensil
50001
0002
P2
Buku Tulis
50001
0003
P3
Penggaris
50001
0004
P4
Penghapus
50002
0001
P3
Penggaris
50002
0002
P5
Pulpen
50002
0003
P6
Spidol
50003
0001
P1
Pensil
50003
0002
P2
Buku Tulis
Tabel 3.9 : Relasi yang belum Normal Ketiga
Berdasarkan tabel diatas maka kita dapat melakukan dekomposisi terhadap tabel tersebut sehingga menjadi dua tabel berikut ini:
No. Pesanan
No. Urut
Kode Item
50001
0001
P1
50001
0002
P2
50001
0003
P3
50001
0004
P4
50002
0001
P3
50002
0002
P5
50002
0003
P6
50003
0001
P1
50003
0002
P2

 
Tabel 1(Item)                                            Tabel 2 (Pesanan)
Kode Item
Nama Item
P1
Pensil
P2
Buku Tulis
P3
Penggaris
P4
Penghapus
P5
Pulpen
P6
Spidol


Tabel 3.10 : Relasi dekomposisi sehingga memenuhi Normal Ketiga
Pada beberapa literatur terdapat tahap Normal Keempat dan Kelima serta BCNF, tetapi pada modul ini kita tidak membahasnya karena jika tabel sudah pada tingkat Normal Ketiga sebuah tabel sudah dikatakan baik.

Contoh:
Dengan Normalisasi buatlah rancangan basis data “Perkuliahan” dari kumpulan atribut berikut:
Field
Keterangan
Kd_Jur
Nm_Jur
Prog_Studi
NPM
Nm_Mhs
Al_Mhs
Jk_Mhs
T_Lahir
Tgl_Lahir
Kd_Mk
Nm_Mk
SKS
Nilai

NID
Nm_Ds
Al_Ds
No_Telp
Kode Jurusan
Nama Jurusan
Program Studi
Nomor Pokok Mahasiswa
Nama Mahasiswa
Alamat Mahasiswa
Jenis Kelamin
Tempat Lahir
Tanggal Lahir
Kode Mata Kuliah
Nama Mata Kuliah
Beban SKS
Nilai yg di dapat oleh mahasiswa dlm menempuh mata kuliah.
Nomor Induk Dosen
Nama Dosen
Alamat Dosen
Nomor Telepon/ HP


Ketentuan Relasi:
1.      Satu orang mahasiswa mempunyai satu jurusan dan dalam satu Jurusan terdapat banyak mahasiswa
2.      Satu orang mahasiswa mempelajari banyak mata kuliah dan satu mata kuliah dipelajari oleh banyak mahasiswa
3.      Satu Orang dosen dapat mengajar lebih dari satu mata kuliah dan satu mata kuliah hanya diajarkan oleh satu dosen
Jawab:
  1. Tahap Normal Pertama
Pada data diatas sudah memenuhi tahap Normal Pertama karena tidak ada  lagi baris ataupun kolom yang bernilai banyak.
  1. Tahap Normal Kedua
-          Kunci Primer:
Kd_Jur, NPM, Kd_Mk, NID
-          Ketergantungan terhadap kunci Primer
Kd_Jur                  Nm_Jur, Prog_Studi
NPM                     Nm_Mhs, Al_Mhs, Jk_Mhs, T_Lahir, Tgl_Lahir, Nilai
Kd_Mk                 Nm_Mk, Sks
NID                       Nm_Ds, Al_Ds, No_Telp
Berdasarkan ketergantungan terhadap kunci primer tersebut maka terjadi dekomposisi tabel sehingga membentuk tabel berikut:





 






Tabel 3.11 : Relasi Perkuliahan ditingkat Normal Kedua
  1. Tahap Normal Ketiga
Pada tabel mahasiswa masih terjadi ketergantungan transitif yaitu bahwa Atribut Nilai selain ditentukan oleh NPM tetapi juga ditentukan oleh Kd_Mk.Untuk itu kita lakukan dekomposisi terhadap tabel mahasiswa sehingga menjadi sebagai berikut:
 





Tabel 3.12 : Relasi Mahasiswa Nilai di tingkat Normal Ketiga
Setelah selesai langkah terakhir dari perancangan basis data dengan teknik normalisasi adalah kita menentukan relasi dan memasangkan kunci relasi berdasarkan relasi yang terjadi.




 










Tabel 3.13 : Derajat Relasi dan Pemasangan Kunci Relasi
Soal :
1.      Basis Data “Pembelian Barang”
Field
Keterangan
No_Fak
Tgl_Order
Tgl_Kirim
Tgl_Terima
Kd_Brg
Nm_Brg
Harga
Qty
Jumlah
Total
No_Supp
Nm_Supp
Al_Supp
Telp.
Nomor Faktur
Tanggal Order Barang
Tanggal Kirim Barang
Tanggal Terima
Kode Barang
Nama Barang
Harga Satuan
Quantity
Jumlah Harga
Total Transaksi
Nomor Supplier
Nama Supplier
Alamat Supplier
Nomor Telephon Supplier
Ketentuan Relasi:
  1. Dalam Satu Faktur terdapat banyak barang yang diorder dan satu Barang bisa diorder dalam beberapa faktur.
  2. Satu Supplier Mengirimkan banyak Faktur sedangkan satu Faktur hanya berasal dari Satu Supplier.
Latihan
Buatlah ERD dari data dibawah ini
1.       Kedit Motor
Field
Keterangan
No_Pel
Merek
Type
Harga
Nama
Alamat
Pekerjaan
Bonus
Kd_Motor
Kd_kredit
Lama
DP
AngsPerbulan
Nomor Pelanggan
Merek Motor
Type Motor
Harga Cash
Nama Pelanggan
Alamat Pelanggan
Pekerjaan
Bonus setiap kode kredit motor
Kode Motor
Kode Kredit
Lama Kredit
Uang Muka
Angsuran Perbulan



2.      Rumah Sakit
Field
Keterangan
No_Pas
Nm_Dokter
Kd_Dokter
Kamar
Nm_Pas
No_Kamar
Biaya
Penyakit
Nomor Pasien
Nama Dokter
Kode Dokter
Nama Kamar
Nama Pasien
Nomor Kamar
Biaya Inap Perhari
Nama Penyakit



3.      Buku
Field
Keterangan
ID_Pengarang
Judul
Jlh_Hal
Kd_Buku
Nm_Pengarang
Kd_Penerbit
Penerbit
ID Pengarang
Judul Buku
Jumlah Halaman
Kode Buku
Nama Pengarang
Kode Penerbit
Penerbit




4.      Sekolah
Field
Keterangan
Kelas
Wali_Kelas
Nama
Alamat
NISN
Nomor_Kwi
Pembayaran
Total
Kelas
Nama Wali Kelas
Nama Siswa
Alamat Siswa
Nomor Induk Siswa Nasional
Nomor Kwitansi Pembayaran
Jenis Pembayaran
Total Pembayaran



5.      Pegawai
Field
Keterangan
NIP
Golongan
Pangkat
Gaji_Pokok
Tunjangan
Nama
Alamat
TMT
Nomor Induk Pegawai
Golongan
Pangkat
Gaji Pokok
Tunjangan
Nama Pegawai
Alamat
Terhitung Mulai Terangkat



6.      Ujian
Field
Keterangan
Nama
No_Tes
Ruang
Hari
Penguji
ID_Penguji
Nama Peserta
Nomor Tes
Ruangan
Hari
Penguji
ID Penguji



           

 

BAB IV

KAMUS DATA

 


Kamus data merupakan struktur basis data yang berisi informasi mengenai nama basis data, nama tabel/ file, atribut kunci dan atribut lainnya yang terlibat dalam sebuah basis data. Dan juga terdapat informasi mengenai struktur dari atribut-atribut yang digunakan seperti tipe data, lebar karakter (jumlah digit), dan keterangan dari nama atribut yang digunakan.

Contoh:
Diketahui rancangan basis data “Perkuliah” sebagai berikut:
 








Tabel 3.1 : Basis data “Perkuliahan”




Basis data “Perkuliahan” tersebut harus dilengkapi dengan struktur basis data sebagai berikut.
a.       Kamus Data Jurusan
Nama Basis Data        : Perkuliahan                                       
Nama File                     : Jurusan
Primary Key                 : Kd_Jur
Foreign Key                  : -
No
Nama Field
Data Type
Width
Decimal
Keterangan
1
Kd_Jur
String
2
-
Kode Jurusan
2
Nm_Jur
String
20
-
Nama Jurusan
3
Prog_Studi
String
20
-
Program Studi
Tabel 3.2 : Kamus data Jurusan
b.      Kamus Data Mahasiswa
Nama Basis Data        : Perkuliahan                                       
Nama File                     : Mahasiswa
Primary Key                 : NPM
Foreign Key                  : Kd_Jur
No
Nama Field
Data Type
Width
Decimal
Keterangan
1
NPM
String
8
-
Nomor Pokok Mahasiswa
2
Nm_Mhs
String
15
-
Nama Mahasiswa
3
Al_Mhs
String
20
-
Alamat Mahasiswa
4
Jk_Mhs
String
9
-
Jenis Kelamin
5
T_Lahir
String
15
-
Tempat Lahir
6
Tgl_Lahir
Date
8
-
Tanggal Lahir
7
Kd_Jur
String
2
-
Kode Jurusan
Tabel 3.3 : Kamus Data Mahasiswa
c.       Kamus Data Mata Kuliah
Nama Basis Data        : Perkuliahan                                       
Nama File                     : Mata Kuliah
Primary Key                 : Kd_Mk
Foreign Key                  : NID
No
Nama Field
Data Type
Width
Decimal
Keterangan
1
Kd_Mk
String
8
-
Kode Mata Kuliah
2
Nm_Mk
Stirng
15
-
Nama Mata Kuliah
3
SKS
Numeric
1
0
Beban SKS
4
NID
String
8
-
Nomor Induk Dosen
Tabel 3.4 : Kamus Data Mata Kuliah




d.      Kamus Data Nilai
Nama Basis Data        : Perkuliahan                                       
Nama File                     : Nilai
Primary Key                 : -
Foreign Key                  : NPM, Kd_Mk
No
Nama Field
Data Type
Width
Decimal
Keterangan
1
NPM
String
8
-
Nomor Pokok Mahasiswa
2
Kd_Mk
String
8
-
Kode Mata Kuliah
3
Nilai
Numeric
2
2
Nilai Mahasiswa untuk satu Mata Kuliah
Tabel 3.5 : Kamus Data Nilai
e.       Kamus Data Dosen
Nama Basis Data        : Perkuliahan                                       
Nama File                     : Dosen
Primary Key                 : NID
Foreign Key                  : -
No
Nama Field
Data Type
Width
Decimal
Keterangan
1
NID
String
8
-
Nomor Induk Dosen
2
Nm_Ds
String
15
-
Nama Dosen
3
Al_Ds
String
20
-
Alamat Dosen
4
No_Telp
String
12
-
Nomor Telephon/ HP.
Tabel 3.6 : Kamus Data Dosen