Tujuan Instruksional Umum
Mahasiswa dapat mengerti Model–Model dalam Sistem Basis Data.
Tujuan Instruksional Khusus
Mahasiswa dapat mengerti model data objek. Mahasiswa dapat mengerti model data record.
MODEL DALAM SISTEM BASIS DATA
ara untuk lebih memudahkan didalam usaha memahami sesuatu hal atau konsep adalah dengan cara menggunakan model. Demikian juga dilakukan didalam memahami suatu rancangan basis data. Model data dapat didefinisikan sebagai kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik data dan batasan data. Oleh karena yang ingin ditunjukkan adalah makna dari data dan keterhubungannya dengan data lain sehingga model ini sering disebut sebagai Model Logik.
C
Ada sejumlah cara dalam mepresentasikan model data dalam perancangan basis data yang secara umum dapat dibagi dalam 2 (dua) kelompok model data :
A. Model Data Berbasis Objek
Merupakan himpunan data dan prosedur/relasi yang menjelaskan hubungan logik antar data dalam suatu basis data berdasarkan pada objek datanya. Ada tiga macam jenis model data berbasis objek, yaitu :
1. Entity Relational Model merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan suatu persepsi bahwa real word terdiri dari objek–objek dasar yang mempunyai hubungan/kerelasian antar objek–objek dasar tersebut yang dilukiskan dengan menggunakan simbol–simbol grafis tertentu. 2. Semantik Model hampir sama dengan entity relationship model perbedaannya
adalah korelasi antar objek dasar tidak dinyatakan dengan simbol tetapi secara semantic yaitu menggunakan kata–kata (semantic)
3. Binary Model merupakan model data yang memperluas definisi dari entity, bukan
BAB
B. Model Data Berbasis Record
Pada model data berbasis record, basis data terdiri dari sejumlah record dalam bentuk yang tetap yang dapat dibedakan dari bentuknya. Terdapat tiga macam jenis model data berbasis record, yaitu :
1. Relational Model, data–data disajikan dalam bentuk tabel (baris dan kolom). Setiap tabel mempunyai key yang unik serta setiap tabel harus berelasi dengan minimal satu tabel lain.
2. Hierarchical Model, data–data disajikan dengan bentuk pohon (tree) dan mempunyai root dan beberapa subtree. Level yang lebih atas disebut parent. Level yang dibawahnya disebut child.
3. Network Model, data–data disajikan dalam bentuk jaringan dan record–recordnya biasa disebut member dan owner.
3.1 Model Entity Relationalship
Merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan suatu persepsi bahwa real word terdiri dari objek–objek dasar yang mempunyai hubungan atau relasi antar objek–objek tersebut. Relasi antar objek dilukiskan dengan menggunakan simbol–simbol grafis tertentu.
Mengapa diperlukan model E-R :
1. Dapat menggambarkan hubungan antar entity dengan jelas.
2. Dapat menggambarkan batasan jumlah entity dan partisipasi antar entity 3. Mudah dimengerti oleh pemakai
4. Mudah disajikan oleh perancang database.
Komponen–komponen yang terdapat di dalam Entity Relationship Model :
1. Entity, adalah sesuatu yang dapat dibedakan dalam dunia nyata di mana informasi yang berkaitan dengannya dikumpulkan. Entity set adalah kumpulan entity yang sejenis. Entity set dapat berupa :
Entity yang bersifat fisik, yaitu entity yang dapat dilihat. Contohnya : dosen,
mahasiswa, rumah, kendaraan dan lain–lain.
Entity yang bersifat konsep atau logic, yaitu entity yang tidak dapat dilihat.
Contohnya : pekerjaan, perusahaan, rencana, matakuliah dan lain–lain. Simbol yang digunakan untuk entity adalah persegi panjang.
2. Relationship, adalah hubungan yang terjadi antara satu atau lebih entity. Relationship tidak mempunyai keberadaan fisik, kecuali yang mewarisi hubungan antara entity tersebut. Relationship set adalah kumpulan relationship yang sejenis. Simbol yang digunakan untuk relationship adalah bentuk belah ketupat, diamond atau rectangle.
Contoh :
3. Atribut, adalah karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang suatu relationship tersebut. Attribute value (nilai atribut) adalah suatu data aktual atau informasi yang disimpan di suatu atribut di dalam suatu entity atau relationship. Terdapat dua jenis atribut, yaitu :
Identifer (key), untuk menentukan suatu entity secara unik. (dengan memberi
garis bawah)
Descriptor (nonkey attribute), untuk menentukan karakteristik dari suatu
entity yang tidak unik.
Simbol yang digunakan untuk atribut adalah bentuk oval.
Contoh :
4. Indicator Tipe
a. Indicator tipe associative object, berfungsi sebagai suatu objek dan suatu relationship.
Contoh :
Menjadi :
dosen mengaj
ar mahasiswa
Simbol Atribute
Mahasiswa
NIM
Nama
Jurusan
pelanggan beli barang
pelanggan barang
b. Indicator tipe supertipe, terdiri dari suatu object dan satu subkategori atau lebih yang dihubungkan dengan satu relationship yang tidak bernama.
Contoh :
Keterangan :
Pegawai dikategorikan menjadi 2, yaitu : - pegawai harian
- pegawai bulanan
Pegawai mempunyai : NIP, Nama, Tahun Masuk, Alamat, Nama Supervisor
5. Cardinality Ratio atau Mapping Cardinality, adalah menjelaskan hubungan batasan jumlah keterhubungan satu entity dengan entity lainnya atau banyaknya entity yang bersesuaian dengan entity yang lain melalui relationship.
Jenis Cardinality Ratio :
1. One to One (1:1), adalah hubungan satu entity dengan satu entity
Yang berarti setiap entitas pada himpunan X berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas Y dan begitu juga sebaliknya setiap entitas pada himpunan entitas Y berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas X
pegawai
harian pegawai bulanan
pegawai
Pegawai Harian : - Upah perjam - Upah Lembur
- Waktu mulai bekerja
Pegawai Bulanan : - Gaji perbulan
- Presentasi bonus tahunan
X1
X2
X3
X4
Y1
Y2
Y3
Contoh :
2. One to Many (1:N) adalah hubungan satu entity dengan banyak entity.
Yang berarti setiap entitas pada himpunan entitas X berhubungan dengan banyak entitas pada himpunan entitas Y, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas Y berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas X.
Contoh :
dosen mengaj
ar mata kuliah
1 N
nm_dos alamat_dos
kode_do
s kode_kul waktu
tempat kode_ku
l
nm_ku
l sks
kode_do s
dosen mengepala im
jurusan
1 1
nm_dos alamat_dos
kode_dos kode_jur
kode_jur nm_jur
kode_dos
X1
X2
X3
Y1
Y2
Y3
Y4
3. Many to One (N:1), adalah hubungan banyak entity dengan satu entity. Yang berarti setiap entitas pada himpunan entitas X berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas Y, tetapi tidak sebaliknya dimana setiap entitas pada himpunan Y berhubungan dengan banyak entitas pada himpunan entitas X
Contoh :
4. Many to Many (N:N), adalah hubungan banyak entity dengan banyak entity. Yang berarti setiap entitas pada himpunan entitas X dapat berhubungan dengan banyak entitas pada himpunan entitas Y dan begitu juga sebaliknya setiap entitas pada himpunan entitas Y dapat berhubungan dengan banyak entitas pada himpunan entitas X.
Contoh :
6. Diagram E–R dalam notasi lain
Pilihan 1
Jenis Kerelasian Simbol yang digunakan
1–ke–1
1–ke–n
n–ke–1
n–ke–n
Pilihan 2
Jenis Kerelasian Simbol yang digunakan
1–ke–1
1–ke–n
n–ke–1
n–ke–n
mahasiswa mempelaja
ri mata kuliah
N N
nim nama_mhs
nim
kode_kul indeks_nil kode_ku
l
nm_ku l
sk s
1 1
1 n
1 n
Pilihan 3
Jenis Kerelasian Simbol yang digunakan
1–ke–1
1–ke–n
n–ke–1
n–ke–n
7. Diagram E–R dengan Kamus Data
Pada sebuah sistem yang ruang lingkupnya lebar dan kompleks, penggambaran atribut–atribut dalam sebuah Diagram E–R seringkali malah mengganggu hubungan (relasi) terjadi antara objek–objek (himpunan entitas) tersebut. Kita dapat memisahkan pendeklarasian atribut–atribut ini dari Diagram E–R dan menyatakan dalam sebuah kamus data. Kamus data berisi daftar atribut yang diapit kurang kurawal. Atribut yang berfungsi sebagai key juga dibedakan dengan atribut yang bukan key dengan menggaris bawahi atribut tersebut.
Karena itu, diperbolehkan untuk menggambar Diagram E–R dengan tambahan Kamus Data seperti berikut ini:
Kamus Data :
mahasiswa = {nim, nama_mhs, alamat, tgl_lhr} matakuliah = {kode_kul, nama, sks}
dosen = {kode_dos, nama_dos, alamat_dos} mempelajari = {nim, kode_kul}
mengajar = {kode_kul, kode_dos, waktu, tempat}
8. Representasi dari entity set
Entity set direpresentasikan dalam bentuk tabel dan nama yang unique. Setiap tabel terdiri dari sejumlah kolom. Masing–masing kolom diberi nama yang
unique pula.
Entity set terbagi atas :
mahasiswa mempelaja ri
matakuliah mengaj ar
dosen
N N N
a. Strong Entity Sets (Himpunan Entitas Kuat), himpunan entitas yang dilibatkan dalam ERD adalah himpunan entitas kuat/bebas. Himpunan entitas demikian tidak memiliki ketergantungan dengan himpunan entitas lainnya. Himpunan entitas mahasiswa, dosen dan kuliah sebagaimana ditunjukkan dalam contoh sebelumnya merupakan himpunan entitas kuat yang masing–masing dapat berdiri sendiri. Sebagai himpunan entitas yang kuat/bebas, kemunculan entitas–entitas di dalamnya tidak tergantung pada keberadaan entitas di himpunan entitas yang lain. Ketiga himpunan entitas tersebut juga bukan merupakan bagian (sub) dari himpunan entitas yang lain. Namun demikian dalam pembuatan ERD tidak selalu dapat melibatkan himpunan entitas seperti itu. Ada kalanya juga melibatkan himpunan entitas lemah (weak entity sets). Strong Entity Sets digambarkan dengan empat persegi panjang.
b. Weak Entity Sets (Himpunan Entitas Lemah), himpunan entitas lemah berisi entitas–entitas yang kemunculannya tergantung pada eksistensinya dalam sebuah relasi terhadap entitas lain (strong entity). Himpunan entitas lemah biasanya tidak memiliki atribut yang dapat berfungsi sebagai key, yang benar–benar unik. Weak entity sets digambarkan dengan persegi panjang bertumpuk.
Sebagai contoh, untuk melengkapi data mahasiswa kita juga ingin mengelola data hobi dan orang tua.. Dari fakta, dapat kita lihat bahwa entitas mahasiswa berelasi satu ke satu dengan entitas orang tua dan berelasi satu ke banyak dengan entitas hobi, sehingga dapat digambarkan ERD sebagai berikut :
9. Spesialisasi dan Generalisasi
Entitas–entitas yang ada pada Himpunan Entitas Dosen dapat dibagi menjadi dua kelompok yaitu Dosen Tetap dan Dosen Tidak Tetap. Kelompok Dosen Tetap bisa memiliki atribut–atribut tambahan seperti nip, pangkat dan tgl_masuk. Bagi kelompok Dosen Tidak Tetap atribut–atribut tersebut tidak relevan. Atribut tambahan bagi dosen tidak tetap adalah nama_kantor dan alamat_kantor yang menujukkan lokasi tempat dosen bekerja secara permanen. Adanya perbedaan atribut ini menyebabkan entitas–entitas dosen tersebut tidak mungkin disatukan dalam sebuah himpunan entitas saja. Karena itu, pemisahan (spresialisasi) entitas bisa dilakukan. Jika kita memulai dari sebuah himpunan entitas lalu kemudian melakukan pengelompokan yang melahirkan himpunan entitas baru (proses top down) maka kita sedang melakukan SPESIALISASI.
Gambar Spesialisasi
Bisa juga yang terjadi sebaliknya, diketahui entitas–entitas dalam himpunan entitas mahasiswa sebenarnya dapat dibagi menjadi dua kelompok, yaitu mahasiswa S1 dan D3. Tetapi pengelompokan ini tidak dipertegas dengan adanya perbedaan atribut. Karena tidak tegasnya perbedaan atribut dari dua kelompok, maka kelompok–kelompok entitas tersebut akan disatukan dalam sebuah himpunan entitas dengan atribut–atribut yang sama. Jadi pendekatannya bersifat bottom-up, mula–mula terpisah kemudian menjadi satu. Proses demikian disebut GENERALISASI.
Gambar Generalisasi
dosen
Dosen tetap Dosen tidak tetap IS
A
Top-down
Mahaiswa
Mahasiswa D3 Mahasiswa S1 IS
A
Dengan demikian, spesialisasi dan generalisasi merupakan dua proses yang berlawanan. Yang ditekan dalam spesialisasi adalah perbedaan antar kelompok entitas, sedang dalam generalisasi yang ditekakan adalah persamaannya.
10. Agregasi
Dalam realitas dapat dijumpai adanya relasi yang secara kronologis mensyaratkan telah adanya relasi lain. Dengan kata lain, sebuah relasi terbentuk tidak hanya dari entitas tapi juga mengandung unsur dari relasi lain. Hal ini yang disebut Agregasi. Agregasi menggambarkan sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam Diangan E–R
11. Pengkodean Internal
Ada 3 (tiga) bentuk pengkodean yang dapat kita pilih, yaitu :
Sekuensial
Di mana pengkodean dilakukan dengan mengasosiasikan data dengan kode terurut (biasanya berupa bilangan asli atau abjad). Misalnya data nilai mutu kuliah (“Memuaskan”, “Baik”, “Cukup”, “Kurang”, “Buruk”) dikodekan dengan “A”, “B”, “C”, “D” dan “E”)
Mnemonic
Di mana pengkodean dilakukan dengan membentuk suatu singkatan dari data yang ingin dikodekan, misalnya jenis kelamin (“Laki–Laki” dan
mahasiswa nenpelaja
ri kuliah
mengikuti
praktikum
kode_kul nim
nilai kode_pra
kode_pra nama_pr a
jumlah_jam
N N
N
Blok
Di mana pengkodean dinyatakan dalam format tertentu, misalnya data No Induk Mahasiswa (NIM) dengan format XXYYYY yang terbentuk atas XX = dua digit terakhir angka tahun masuk dan YYYY = no urut mahasiswa.
12. Langkah–langkah membuat E–R Diagram :
Tentukan entity–entity yang diperlukan. Tentukan relationship antar entity–entity.
Tentukan cardinality ratio dan participation constraint. Tentukan atribut–atribut yang diperlukan dari tiap entity. Tentukan key di antara atribut–atribut.
Hindari penamaan entity, relationship dan atribut yang sama.
3.2 Semantic Model
Hampir sama dengan entity relationship model. Relasi antar objek dasar tidak dinyatakan dengan simbol tetapi menggunakan kata–kata (semantic). Sebagai contoh, dengan menggunakan relasi di bank X sebagaimana contoh sebelumnya, dalam semantic model adalah seperti terlihat pada gambar berikut :
Tanda – tanda yang digunakan dalam semantic model adalah sebagai berikut :
3.3 Model Relational
Model basis data relational sering pula disebut sebagai model relational atau basis data relasional. Model basis data ini ditemukan/diperkenalkan pertama kali oleh E. F. Codd. Model basis data menujukkan suatu cara/mekanisme yang digunakan untuk mengelola/mengorganisasi data secara fisik dalam memori sekunder yang
No Tabungan
No Tabungan
Saldo Alamat
Tabungan Custome r
Andika Bank A
Melayani
Mempunyai
adalah nasabah
adalah
Menunjukkan adanya relasi
akan berdampak pula pada bagaimana kita mengelompokkan dan membentuk keseluruhan data yang terkait dalam sistem yang sedang kita tinjau.
Hingga saat ini, model basis data yang paling diterapkan digunakan adalah model basis data relasional. Kemudahan dalam penerapan dan kemampuannya dalam mengakomudasi berbagai kebutuhan pengelolaan basis data yang ada di dunia nyata (real world) merupakan alasan mengapa model ini lebih populer untuk diterapkan. Kemudahan merupakan sesuatu yang sangat penting, karena di samping aspek pemodelan yang harus digunakan, masih banyak aspek lain di dalam lingkup pengelolaan basis data yang juga menuntut perhatian serius dari siapa saja yang berkecimpung dalam kegiatan itu.
Definisi Basis Data Relational
Pada model relational, basis data akan “disebar” (dipilah–pilah) ke dalam berbagai tabel 2 dimensi. Setiap tabel selalu terdiri atas lajur mendatar yang disebut dengan
baris data (row/record) dan lajur vertikal yang biasa disebut dengan kolom (column/ field). Di setiap pertemuan basis data dan kolom itulah , item–item data (satuan data terkecil) ditempatkan. Dalam kehidupan kita sehari–hari, tabel merupakan bentuk
natural (alamiah) dalam menyatakan fakta/data yang sering kita gunakan. Itulah sebabnya, model ini lebih mudah kita terapkan ketimbang model basis data yang lain.
Contoh :
Model Data Relational
Relasi antara Tabel Mahasiswa dan Tabel Mata Kuliah
KODE_MK NAMA_MK
SI4001 Komunikasi Data
SI4002 Sistem Basis Data
SI4003 Multimedia
SI4004 Struktur Data
Istilah dalam model data relational :
1. Relasi (file/tabel/entitas) adalah sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. Datanya berisi sekumpulan tuple yang bervariasi pada setiap waktu.
2. Atribut (field/kolom) adalah kolom di sebuah relasi. 3. Tuple/record adalah baris di sebuah relasi
4. Domain adalah sekumpulan nilai data yang mempunyai arti dan tipe yang sama, setiap atributnya harus didefinisikan tepat satu domain.
Mahasiswa
NIM NAMA ALAMAT KOTA
G.211.0105 Eka Riana Jl. Mawar No. 20 Semarang
G.211.0106 Dedi Wijayanto Jl. Melati No. 30 Semarang
G.211.0107 Eka Indrayana Jl. Tulip No. 45 Semarang
G.211.0108 Roosmalia Indah Jl. Flamboyan No. 55 Salatiga
G.211.0109 Tenny Widiana Jl. Anggrek No. 15 Solo
G.211.0110 Winda Astuti Jl. Krisan No. 25 Semarang
Relation Key :
1. Candidate Key yaitu satu atau gabungan minimal atribut yang bersifat unik yang dapat digunakan untuk mengidentifikasi/membedakan setiap record dalam relasi. Dalam setiap relasi minimal mempunyai sebuah kunci kandidat.
2. Primary Key yaitu bagian/salah satu dari candidat key yang dipilih/digunakan sebagai kunci utama untuk mengidentifikasi/membedakan setiap record dalam relasi. Dalam setiap relasi harus mempunyai primary key dan jumlahnya hanya satu buah. Primary key harus unik dan tidak boleh null.
3. Alternative Key yaitu bagian dari candidat key yang tidak dipilih/digunakan sebagai primary key. Dalam setiap relasi tidak harus mempunyai alternatif key. Hal ini bergantung pada jumlah candidat key yang ada. Jika jumah dalam sebuah relasi lebih dari satu, maka salah satu akan digunakan sebagai primary key dan satu yang lainnya menjadi alternatif key. Tetapi apabila sebuah relasi hanya memiliki sebuah candidat key, maka ia akan digunakan sebagai primary key dan tidak ada alternatif key.
4. Foreign Key yaitu satu atau gabungan sembarang atribut yang menjadi primary key dalam relasi lain yang mempunyai hubungan secara logik. Foreign key tidak harus dimiliki dalam sebuah relasi. Jika foreign key muncul dalam sebuah relasi, maka foreign key tersebut akan menunjukkan adanya kerelasian antar relasi dalam basis data.
3.4 Model Jaringan
Sebuah basis data dengan model jaringan akan terdiri atas sekumpulan record yang dihubungkan satu sama lain melalui link. Sebuah record setara dengan entitas. Setiap
Atribute (NIM, NAMA, ALAMAT, KOTA) Relasi Mahasiswa
Domain, misalnya : Domain NIM memiliki character ((10), Domain NAMA memiliki character (20)
Derajat atau degree (4)
record adalah sekumpulan field (atribut), yang masing–masing hanya berisi sebuah nilai data. Sebuah link merupakan sebuah gabungan diantar dua record. Jadi, sebuah
link bisa dianggap sebagai bentuk terbatas (biner) relasi.
Contoh data dan link yang terjadi antara record mahasiswa dan record matakuliah :
Link diatas menunjukkan bahwa mahasiswa ”Eka Riana” mengambil matakuliah “Komunikasi Data’, mahasiswa “Dedi Wijayanto” mengambil matakuliah “Sistem Basis Data” dan “Struktur Data”, mahasiswa “Eka Indrayana” mengambil matakuliah “Struktur Data” dan “Multimedia”.
Diagram struktur data merupakan skema yang menyatakan desain basis data jaringan. Diagram tersebut terdiri atas dua komponen utama : kotak yang menunjukkan tipe record dan garis yang menunjukkan link.
3.5 Model Hierarki
Sebuah basis data dengan model Hierarki akan terdiri atas sekumpulan
record yang dihubungkan satu sama lain melalui link yang membentuk suatu struktur hierarki. Pengertian record dan link di sini sama dengan pengertian record
pada model jaringan. Dengan memanfaatkan pedeklarasian struktur yang sama dengan yang ditunjukkan sebelumnya.
Parent Child
A adalah B, C dan D B, C dan D adalah A
B adalah E dan F E dan F adalah B
A
B C D
E F G H I
G.211.0105 Eka Riana
G.211.0106 Dedi Wijayanto
G.211.0107 Eka Indrayana
Sistem Basis Data SI4002
Multimedia SI4003
Komunikasi Data SI4001
Berikut ini adalah contoh yang mengilustrasikan hubungan antara record–record
mahasiswa dan record–record matakuliah :
Dapat dilihat bahwa himpunan record–record mahasiswa dan matakuliah diorganisasi dalam sebuah struktur pohon (tree–structur) dengan root yang merupakan record dummy. Dari struktur pohon tersebut dapat disimpulkan bahwa tipe record matakuliah berada dibawah tipe record mahasiswa secara hierarki. Seiring pula disebutkan, tipe record matakuliah merupakan child dan tipe record
mahasiswa merupakan parent dalam struktur tersebut.
Diagram struktur pohon (tree – structur diagram) merupakan skema yang digunakan untuk basis data hierarki. Diagram tersebut terdiri atas dua komponen utama : kotak yang menunjukkan tipe record dan garis yang menunjukkan link.
G.211.0105 Eka Riana
G.211.0106 Dedi Wijayanto
G.211.0107 Eka Indrayana
Sistem Basis Data SI4002
Multimedia SI4003
Struktur Data SI4004
Komunikasi Data