sistem basis data - ik4menarianti.files.wordpress.com€¦ · web viewm.kom2015sistem basis data....
TRANSCRIPT
MODEL DATA
2.1. Model DataData yang di simpan menggambarkan semua aspek dari suatu organisasi.
Model Data dapat didefinisikan sebagai kumpulan perangkat konseptual untuk
menggambarkan data, hubungan data, semantik (makna) data dan batasan data.
Ada sejumlah cara dalam merepresentasikan model data dalam perancangan
basis data, yang secara umum dapat di bedakan menjadi 2 kelompok yaitu :
1. Model Logik berdasarkan Objek
Model Keterhubungan Entitas
Model berorientasi Objek
Model data Semantik
Model data fungsional
2. Model logik berdasarkan record
Model Data Hirarkis
Model hirarkis biasa disebut model pohon, karena menyerupai pohon
yang di balik. Model ini menggunakan pola hubungan orang tua anak. Setiap
simpul ( biasanya dinyatakan dengan lingkaran atau kotak) menyatakan
sekumpulan medan.
Simpul yang terhubung ke simpul pada level dibawahnya di sebut
orang tua. Setiap orang tua memiliki satu ( hubungan 1:1 ) atau beberapa
anak ( hubungan 1:M ), tetapi setiap anak hanya memiliki satu orang tua.
Simpul-simpul yang di bawahi oleh simpulorang tua di sebut anak. Simpul
orang tua yang tidak memiliki orang tua disebut akar. Simpul yang tidak
memiliki anak di sebut daun. Adapun hubungan antara orang tua dan anak
disebut cabang.
Kelemahan dari model data hirarkis adalah tidak bis dilakukan
pencarian pada medan atribut.
Gambar Model Hirarkis
Model Data Jaringan
Model jaringan di standarisasi pada tahun 1971 oleh Data Base Task
Group (DBTG). Itulah sebabnyadisebut model DBTG. Model ini juga di sebut
CODASYl ( Conference Data System Language). Model ini menyerupai
model data hirarkis, dengan perbedaan simpul anak bisa memiliki lebih dari
satu orang tua.
Oleh karena sifatnya demikian, model ini bisa menyatakan hubungan
1:1 (satu orang tua punya satu anak), 1:M (satu orang tua punya banyak
anak), maupun N:M (beberapa anak mempunyai beberapa aorang tua). Pada
model jaringan, orang tua di sebut pemilik dan anak di sebut anggota.
Gambar Model Jaringan
Model Data Relasional
Model Relasional adalah model data yang paling banyak di gunakan
saat ini. Pembahasan pokok pada model ini adalah relasi, yang di misalkan
sebgai himpunan record. Deskripsi data dalam istilah model data adalah
skema. Pada model relasioal, skema relasi di tentukan untuk oleh nama,
nama dari tiap field ( atau atribut atau kolom), dan tipe dari tiap file.
Gambar Model data relasional
2.2. Fakta Dunia Nyata ( Real world )Dalam dunia nyata data berasal/bermula dari apa yang kita miliki/ketahui.
Data itu kemudian bisa kita simpan untuk dapat dilihat kembali atau untuk
mendapatkan hal-hal baru (informasi) yang diinginkan.
Apa yang kita miliki sebagai data, kita pilah sesuai jenis dan fungsinya.
Pemilahan/pengelompokkan data yang kemudian dikombinasikan atau
disempurnakan dengan proyeksi kebutuhan dalam pengolahan data menjadi
informasi hingga melahirkan model dunia nyata.
Ada dua pertanyaan penting yang menyangkut pemodelan data yang
berasal dari ’ dunia nyata ’, yaitu :
1. Penerapan data dari ’dunia nyata’ ke dalam sebuah basis data
mensyaratkan adanya struktur (keteraturan) data yang ingin kita
simpan. Lalu, dengan struktur data yang bagaimana, data itu akan di
implementasikan dalam sebuah basis data secara fisik?
2. Apa saja karakteristik (property) dari suatu data (yang akan disimpan)
dan bagaimana sebaiknya data tersebut di representasikan oleh
struktur fisik?
Kita tinjau dunia nyata dalam sebuah perkuliahan, di sebuah perguruan
tinggi, kita mengetahui adanya mahasiswa, dosen, kurikulum, ruang kuliah,
penilaian, ujian hingga praktikum.
Apa yang kita ketahui (untuk di implementasikan ke dalam basis data) ini
dapat dibatasi atau diperluas, tergantung apa yang kita harapkan. Kita harus
memilah dan mengelompokkan data tersebut dalam satuan- satuan data yang
juga harus di representasikan keterhubungan antar satuan-satuan data.
Misalnya, satuan data Mahasiswa dideskripsikan dengan atribut nim,
nama_mhs, alamat_mhs dan tgl_lahir. Atribut tersebut dapat dibatasi atau di
perluas misalnya tempat_lahir, jurusan, nama_orang_tua, agama dan seterusnya.
Pembatasan atribut yang akan disertakan pada suatu satuan data perlu dilakukan
dengan tetap mempertimbangkan aspek kebutuhan.
Karena ketidakteraturannya dan banyak hal yang harus di pertimbangkan,
maka akan cukup sulit dan riskan untuk mengimplementasikan secara langsung
dunia nyata ke dalam data base secara fisik. Maka kita memperlukan sebuah
model data logik berdasakan objek yaitu Model Entity Realtionship. E-R Model
adalah represntasi logika dari data pada suatu organisasi atau area bisnis tertentu
dengan menggunakan Entity dan Relationship.
2.3.Model Entity RelationshipSemua data yang ada di “dunia nyata” diterjemahkan / ditransformasikan
dengan memanfaatkan sejumlah perangkat konseptual menjadi sebuah diagram
data yang umum di sbut Diagram Entity-Relationship ( Diagram E-R ).
Sesuai namanya, ada 2 komponen utama pembentuk Model Entity
Relationship, yaitu Entitas ( Entity ) dan Relasi (Relation).
2.3.1 Entity dan Entity Set Entitas adalah obyek yang mewakili sesuatu yang nyata yang dapat
dibedakan dari obyek lain.Entity Set/Kumpulan Entity adalah kumpulan dari
entitas sejenis/dalam tipe sama.
Entity set dapat berupa: Obyek fisik (rumah, kendaraan, pegawai, dll) dan
obyek abstrak (konsep politik, pekerjaan, rencana, dll.) Simbol yang digunakan
untuk entity adalah persegi panjang.
Tipe Entitas
Entitas Kuat yaitu entitas mandiri yang keberadaannya tidak
bergantung pada keberadaan entitas lain
Entitas Lemah/Weak Entity yaitu entitas yang keberadaannya
bergantung pada keberadaan entitas lain.
Entitas Assosiatif adalah entitas yang terbentuk dari suatu relasi, bisa
terjadi jika :
a) Relasi yang merekatkan dua entitas bersifat banyak ke banyak
b) Biasanya berasal dari suatu relasi dimana relasi itu memiliki
makna mandiri bagi pengguna
2.3.2 Attributes / properties Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik
entitas tersebut. Atribut adalah property deskriptif yang dimiliki oleh setiap
himpunanentitas. Simbol yang di gunakan:
Jenis-jenis atribut :
Atribut key à digunakan untuk mengidentifikasi suatu entity secara
unik
Atribut tunggal à memiliki nilai tunggal
Atribut multivalue à memiliki sekelompok nilai untuk setiap instant
entity
Atribut composite à dapat didekomposisi menjadi beberapa atribut
lain
Atribut derivative à dihasilkan dari atribut yang lain
2.3.3 Relation Adalah hubungan antara suatu himpunan entitas dengan himpunan entitas
lainnya. Simbol yang digunakan adalah bentuk belah ketupat, diamod atau
rectangle.
Misalnya: Entitas seorang Mahasiswa dengan nim = ’98001’ dan
nama_mhs =’Agung Pambudi’ mempunyai relasi dengan entitas sebuah mata
kuliah dengan kode_kul =’IF-31’ dan nama_kul = ’ Sistem Basis Data’. Relasi
antara kedua entitas tersebut mengandung arti bahwa Mahasiswa tersebut
sedang mengambil mata kuliah tersebut
2.3.4 Key
Adalah sejumlah atribut yang mengidentifikasi record/baris dalam sebuah
relation secara unique. Beberapa jenis key:
Super Keyà satu atribut atau kumpulan atribut yang secara unik
mengidentifikasi sebuah record di dalam relasi atau himpunan dari satu atau
lebih entitas yang dapat digunakan untuk mengidentifikasi secara unik sebuah
entitas dalam entitas set.
Candidate Keyà atribut-atribut yang menjadi determinan yang dapat dijadikan
identitas record pada sebuah relation bisa terdapat satu atau lebih candidate
key
Primary keyà candidate key yang menjadi identitas record karena dapat
mengidentifikasi record secara unik atau kolom (atau gabungan beberapa
kolom) yang menjadi identitas unik tiap-tiap baris pada sebuah relation.
Alternate keyà candidate key yang tidak dijadikan primary key
Composite keyà key yang terdiri dari 2 atribut atau lebih.Atribut-atribut
tersebut bila berdiri sendiri tidak menjadi identitas record, tetapi bila
dirangkaikan menjadi satu kesatuan akan dapat mengidentifikasi secara unik
Foreign keyà non key atribut pada sebuah relation yang juga menjadi key
(primary) atribut di relation lainnya. Foreign key biasanya digunakan sebagai
penghubung antara record-record dan kedua relation tersebut. (kolom (atau
gabungan beberapa kolom) yang merupakan primarykey pada relation (tabel)
lain). Berguna untuk menghubungkan antara dependent relation (sisi many)
dengan parentrelation (sisi one).
S# SNama Kode
S1 RISKA 1002
S2 DEWI 1003
S3 DAVID 1004
Super Key : S#, SName, Kode
Candidate Key : S#, SName
Primary Key : S#
Alternative Key : SName
Foreign Key : Kode
2.4.Kardinalitas dan Derajat RelasiKardinalitas menunjukkan jumlah maksimum entitas yang dapat berelasi
dengan entitas pada himpunan entitas yang lain. Misalnya : pada entitas
Kode P#
1002 2468
1003 2453
1004 2467
mahasiswa dapat berelasi dengan satu entitas, banyak entitas atau bahkan tidak
satupun entitas dari himpunan entitas kuliah, begitu juga sebaliknya.
Kardinalitas Relasi yang terjadi antara dua himpunan entitas (mis: A dan B)
dapat berupa :
1) One to One ( 1:1 )
Yang berarti setiap entitas
pada himpunan entitas A
berhubungan paling banyak
dengan satu entitas pada
himpunan entitas B, dan begitu
juga sebaliknya.
2) One To Many ( 1:M )
Yang berarti setiap
entitas pada himpunan entitas A
dapat berhubungan dengan
banyak entitas pada himpunan
entitas B, tetapi tidak sebaliknya.
Dimana setiap entitas pada
himpunan entitas B berhubungan
paling banyak hanya dengan satu entitas di himpunan entitas A
3) Many To One ( M:1 )
Yang berarti setiap
entitas pada himpuna enititas
A berhubungan dengan paling
banyak dengan satu entitas
pada himpunan B, dimana
himpunan entitas B
behubungan dengan banyak entitas pada himpunan entitas A
4) Many To Many ( N:M )
Yang berarti setiap
entitas pada himpunan pada A
berhubungan dengan banyak entitas pada himpunan Entitas B, dan begitu juga
sebaliknya
Menjelaskan jumlah entity yang terlibat dalam suatu relationship:
- Unary Degree (Derajat satu) à hanya satu entity yang terlibat
- Binary Degree (Derajat dua) à menghubungkan dua entity
Ternary Degree (Derajat tiga) à menghubungkan tiga entity
2.5.Entity Relationship diagram ( ER – Diagram )Simbol yang di gunakan :
1. Persegi panjang : menyatakan himpunan entitas
2. Lingkaran / Ellips : menyatakan atribut (atribut yang berfungsi sebagai
key digaris bawahi)
3. Belah ketupat : menyatakan himpunan relasi
4. Garis : penghubung antara entitas dengan relasi dan entitas dengan
atributnya
Berikut adalah contoh penggambaran relasi antar himpunan entitas
lengkap dengan kardinalitas relasi dan atribut-atributnya.
1. Relasi One to One
Contoh:Adanya relasi antara himpunan entitas Dosen dengan himpunan
entitas Jurusan. Himpunan Relasinya kita namakan ’mengepalai’. Setiap dosen
paling banyak mengepalai satu jurusan. Dan setiap jurusan paling banyak
dikepalai satu dosen. Maka :
Pada diagaram E-R diatas terlihat bahwa setiap entitas memiliki 2 atribut
saja, dimana pada himpunan relasi Mengepalai juga terdapat 2 buah atribut yang
secara bersama-sam berfungsi sebagai key. Pada entitas dosen key terletak pada
nama_dos dan pada jurusan terletak pada kode_jur. Karena berasal dari key
masing2 entitas, maka key keduanya dapat dikatakan foreign key sehingga dapat
di tunjukkan dosen mana yang mengepalai suatu jurusan atau sebaliknya jurusan
mana yang yang dikepalai seorang dosen.
2. Relasi One to Many
Contoh: Adanya relasi antara entitas Dosen dan Mata Kuliah. Himpunan
relasinya kita namakan ”mengampu”. Pada relasi ini, setiap dosen dapat
mengajar lebih dari satu mata kuliah dan setiap mata kuliah hanya boleh di ampu
oleh paling banyak satu dosen. Maka :
Pada relasi ‘mengampu’, kode_dos dan kd_matkul merupakan foreign key
yang berasal dari entitas Dosen dan Mata Kuliah
3.Relasi Many to Many
Contoh : Adanya relasi himpuna entitas Mahasiswa dan Mata Kuliah,
dimana himpunan relasinya dinamakan ”mempelajari”. Setiap mahasiswa dapat
mempelajari lebih dari satu mata kuliah dan sebaliknya setiap mata kuliah boleh di
pelajari lebih dari satu mahasiswa. Maka :
Keberadaan himpunan relasi ‘mempelajari’, memiliki dua fungsi yaitu untuk
menunjukkan mata kuliah mana saja yang diambil oleh seorang mahasiswa atau
mahasiswa mana saja yang mengambil mata kuliah tertentu dan indeks nilai yang
diperoleh seorang mahasiswa untuk mata kuliah tertentu ( tentu saja setelah data
indeks tersebut disimpan ).
2.6.Tahapan Pembuatan ER – Diagram
2.6.1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan
terlibat.
Himpunan entitas mewakili sebuah kumpulan entitas/individu yang jelas
eksistensinya dan dapat berdiri sendiri. Tetapi, himpunan entitas mana yang akan
kita pilih tidak hanya tergantung pada jenis topik/sistem yang di tinjau, juga
ditentukan oleh seberapa jauh ruang lingkup yang ingin di akomodasi dalam
rancangan basis data.
Pada ruang lingkup perkuliahan, ada banyak sekali himpunan entitas yang
bisa dilibatkan seperti Mahasiswa, Mata Kuliah, Praktikum, Jurusan, Dosen,
Ruang, dll. Namun dalam lingkup perkuliahan yang sederhana yang kita bahas
adalah Mahasiswa, Mata Kuliah dan Dosen
2.6.2. Menentukan atribut-atribut key dari masing-masing himpunan entitas
Atribut-atribut key ( primary key ) yang disertakan pada himpunan entitas
merupakan atribut terpenting yang dapat mengidentifikasikan (membedakan)
setiap entitas yang ada di dalamnya. Keberadaan atribut ini akan memberi
keyakinan tentang kebenaran eksistensi dari setiap himpunan entitas.
Salah satu ciri dari himpunan entitas adalah kemandiriannya. Kemandirian
itu terlihat dari atribut yang menjadi key dan perbedaannya dengan key yang lain.
Atribut nim, kd_matkul, dan kd_dosen merupakan atribut yang tidak saling
bergantung
2.6.3. Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara
himpunan entitas yang ada beserta foreign key nya
Ketepatan dalam menentukan relasi-relasi yang terjadi diantara himpunan
entitas akan sangat menentukan kualitas rancangan basis data yang dibangun.
Relasi-relasi yang kita tetapkan harus dapat mengakomodasi semua fakta yang
ada dan menjamin semua kebutuhan penyajian data, dan harus dioptimalkan agar
tidak memakan ruang penyimpanan dan tidak menyulitkan operasi pengelolaan
data.
Himpunan relasi mempelajari dan mengajar merupakan relasi langsung
yang terjadi antara himpunan entitas Mahasiswa, Mata kuliah, dan Dosen.
2.6.4. Menentukan derajat kardinalitasnya untuk setiap himpunan relasi
Karena fakta memperlihatkan bahwa seseorang mahasiswa boleh
mengambil beberapa mata kuliah dan begitu sebaliknya, maka derajat relasi
antara entitas Mahasiswa dan Mata Kuliah adalah Many to Many. Dan bahwa
seorang dosen dapat mengajar beberapa mata kuliah, tetapi setiap mata kuliah
hanya dipegang seorang dosen, maka derajat relasi entitas Mata Kuliah dan
Dosen adalah One to Many.
2.6.5. Melengkapi himpunan entitas dan himpunan relasi dengan atributnya
Berangkat dari fakta yang ada, atribut-atribut deskriptif yang dapat
disertakan pada masing-masing himpunan entitas dan himpunan relasi
Langkah terakhir ini adalah langkah terakhir. Keberadaan atribut-atribut ini
merupakan refleksi pengakomodasian terhadap fakta yang memang ada dan
kebutuhan penyajian data disaat yang lain
2.7. ER – Diagram dan Tabel
Dari ER – Diagram kita dapat mendefinisikan lagi ke dalam bentuk tabel.
Nama tabel di peroleh dari nama entitas dan nama relasi, sedangkan field-nya
diperoleh dari nama atribut yang mendefinisikan entitas maupun relasi. Misal
pada ER- Diagram Perbankan
Dari gambar di atas kita memperoleh 4 nama tabel yaitu Tabel Customer,
Tabel Branch, Tabel Deposit dan Tabel Borrow.
2.8.ER –Diagram dan Kamus DataObjektif pertama dari pembuatan diagram E-R adalah untuk menunjukkan
objek-objek (himpunan entitas) apa saja yang ingin dilibatkan dalam sebuah basis
data dan bagaimana hubungan yang terjadi diantara objek-objek tersebut. Pada
sebuah sistem yang ruang lingkupnya lebar dan kompleks, penggambaran atribut-
atribut dalam sebuah diagram E-R sering kali malah mengganggu objektif yang
ingin dicapai. Kita dapat memisahkan pendeklarasian atribut dari diagram E-R
dan menyatakannya dalam sebuah kamus data.
Kamus data berisi daftar atribut yang diapit kurung kurawal “{“ dan “}”. Atribut yang berfungsi sebagai key juga dibedakan dengan memberikan garis
bawah.Misalnya :
Kamus data-nya:
Mahasiswa ={ nim , nama _mhs, alamat_mhs, tgl_lahir}
Kuliah = { kode_kul , nama_kul, sks, semester}
Dosen = { nama_dos, alamat_dos}
Mempelajari ={ nim, kode-kul, indeks_nilai}
Mengajar ={ kode-kul,kode_kul , waktu, tempat}