KATA PENGANTAR
Bismillahirrohmanirrokhim. Puji syukur penulis hatur kehadirat Allah SWT, atas limpahan rahmat-nya sehingga Makalah Trasformasi Model Data Many to Many dapat terwujud. Untuk itu penulis sampaikan rasa terima kasih kepada seluruh pihak yang telah memberi.
Harapan penulis, makalah ini dapat memberi tuntunan konseptual yang praktis bagi mereka, baik praktisi maupun mahasiswa dalam memahami basis data. Penulis menyadari, isi maupun cara penyampian makalah ini masih jauh dari sempurna. Untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari para membaca sehingga penulis bisa mengembangangkan buku ini menjadi lebih baik.
Terima kasih.
Bekasi, November 2011
Tris Antani
DAFTAR ISI
KATA PENGANTAR....................................................................................
DAFTAR ISI...................................................................................................
BAB I KONSEP DASAR BASIS DATA......................................................
A. Pendahuluan.............................................................................
B. Definisi Basis Data..................................................................
C. Tujuan Basis Data....................................................................
D. Manfaat/Kelebihan Basis Data................................................
E. Operasi Dasar Basis Data........................................................
BAB II RELATIONSHIP...................................
A. Pengertian Relationship ......................................................................................
B. Sistem Basis Data.....................................................................
BAB III ARSITEKTUR SISTEM BASIS DATA....................................
A. Arsitektur Basis Data...............................................................
BAB I
KONSEP DASAR BASIS DATA
A. PENDAHULUAN
Pemrosesan basis data sebagai perangkat andalan sangat diperlukan oleh berbagai institusi dan perusahaan. Dalam pengembangan sstem informasi diperlukan basis data sebagai media penyimpanan data. Kehadiran basis data dapat meningkatkan Daya saing perusahaan tersebut. Basis data dapat mempercepat upaya pelayanan kepada pelanggan, menghasilkan informasi dengan cepat dan tepat sehingga membantu pengambilan keputusan untuk segera memutuskan suatu masalah berdasarkan informasi yang ada.
Banyak aplikasi yang dibuat dengan berlandaskan pada basis data antara lain: semua transaksi perbankan, aplikasi pemesanan dan penjadwalan penerbangan, proses regristasi dan pencatatan data mahasiswa pada perguruan tinggi, aplikasi pemrosesan penjualan, pembelian dan pencatatan data barang pada perusahaan dagang, pencatatan data pegawai beerta akrifitasnya termasuk operasi penggajian pada suatu perusahaan, dan sebagainya.
Beberapa informasi pada perusahaan retail seperti jumlah penjualan, mencari jumlah stok penjualan, mencari jumlah stok yang tersedia, barang apa yang paling lakudijual pada bulan ini, dan berapa laba bersih perusahaan dapat diketahui dengan mudah dengan basis data. Pada perpustakaan, adanya aplikasi pencarian data buku berdasarkan judul, pengarang atau kriteria lain dapat mudah dilakukan dengan basis data. Pencarian data peminjam yang terlambat mengembalikan juga mudah dilakukan sehingga bisa dibuat aplikasi pembuatan surat berdasarkan informasi yang tersedia.
Dengan memanfaatkan teknologi jaringan, kemampuan basis data dapat dapat dioptimalkan. Misalnya transaksi antar cabangpada sebuah perbankan secara online. Begitu banyak yang dapat diperoleh dengan pemanfaatan basis data. Basis data dapat meningkatkan daya guna perangkat computer yang mungkin tadinya hanya untuk keperluan game atau pengetikan dengan aplikasi office.
B. DEFINISI BASIS DATA
Basis data adalah kumpulan data yang saling berelasi. Data sendiri merupakan fakta mengenai obyek, orang, dan lain-lain. Data dinyatakan dengan nilai (angka,deretan karakter, atau symbol). Basis data dapat didefinisikn dalam berbagai sudut pandang seperti berikut:
- Himpunan kelompok data yang saling berhubungan yang diorganisasikan sedemikian rupa sehingga kelak dapat dimanfaatkan dengan cepat dan mudah.
- Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi kebutuhan.
- Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik.
C. TUJUAN BASIS DATA
Basis data bertujuan untuk mengatur data sehingga diperoleh kemudahan, ketepatan, dan kecepatan dalam pengambilan kembali. Untuk mencapai tujuan, syarat sebuah basis data yang baik adalah sebagai berikut;
- Tujuan adanya redundansi dan inkonsistensi data
Redudansi terjadi jika suatu informasi disimpan di beberapa tempat. Misalnya, ada data mahasiswa yang memuat NIM, nama, alamat, dan atribut lainnya, sementara kita punya data lain tentang data KHS mahasiswa yang isinya yang terdapat NIM, nama, mata kuliah, dan nilai.
2) Kesulitan Pengaksesan Data
Basis data memiliki fasilitas untuk melakuakan pencarian informasi dengan menggunakan Query taupun dari tool untik melihat tabelnya. Dengan fasilitas ini. Kita bias secara langsung melihat data dari software DBMS-nya. Selain itu, baiss data bias dihubungkan dengan program aplikasi sehingga memudahkan pengguna dalam mengakses informasi. Misalnya program aplikasi untuk kasir yang terhubung dengan basis data . pengguna cukup mengguna fasilitas pencarian ataupun laporan. Yang tersedia pada program aplikasi untuk mendapatkan informasi stok, laporan penjualan, dan lain-lain. Dalam basis data, informasi yang diperolah dari kumpulan data bisa berupa keseluruhan data, sebagai data, data denga filter tertentu, data yang terurut, ataupun data summary.
Sebagai contoh sederhana ketika kita ingin mencatat data alamat dan telepon dari kolega kita. Sebagai orang akan menggunakan buku alamat. Metode pencatat dilakukan dilakukan dengan menuliskan data setelah catatan terakhir. Ketika kita menginginkan informasi alamat seseorang kita akan mencari karena informasi yang tersaji tidak terurut. Ada juga orang mencatat dengan mengelompokan nama berdasarkan abjad. Hal ini akan lebih mempermudah pencarian karena kita tidak perlu membaca keseluruhan data, tetapi cukup dalam satu kelompok saja. Tapi masalah baru muncul ketika jumlah data untuk sekelompokan data abjad teretentu telalu banyak sedangkan kelompok abjad yang lain masih terlalu sedikit. Dalam metode ini, ada banyak ruang tidak terpakai jika memberikan ruang yang sama untuk setiap kelompok. Dalam hal pencarian, kesulitan akan kita temui ketika informasi yang kita ingin cari dengan kata kunci sebagagian namanya. Misalnya kita akan mencari alamat Anto, sementara yang tercatat dalam buku catatan adalah Mardianto. Tentu saja kita tidak akan dapat menemukannya dalam kelompok data dengan huruf depan A. selain itu, tidak selamanya kata kunci yang diketahui adalah dari nama, tetapi bisa saja yang diketahui adalah nomer teleponnya, sedangkan yang ingin kita cari adalah alamat dan namanya. Hal ini merupakan masalah baru dari pencatatan data dengan buku. Basis data bisa memberikan solusi terhadap permasalahan-permasalahan tersebut diatas.
3) Multiple User
Basis data memungkinkan pengguna data bersama-sama oleh banyak pengguna pada saat yang bersamaan atau pada saat yang berbeda. Dengan meletakkan basis data pada bagian server yang bisa diakses kesemua pengguna dari banyak klient, kita sudah menyediakan akses kesemua pengguna dari computer klient ke sumber informasi yaitu basis data. Tentu saja pengaksesan oleh pengguna-pengguna ini disesuaikan dengan hak aksesnya. Misalnya sebuah perguruan tinggi memiliki data tentang mahasiswa, pembayaran, dan lain-lain yang diletakan dalam sebuah basis data. Bagian Akademi akan bisa mengakses data-data akademi mahasiswa, Bagian Keuangan akan diijinkan mengakses data pembayaran mahasiswa, sementara mahasiswa hanya bisa melihat status akademi/keuangan yang berhubungan dengan dirinya saja. Hal ini sangat dimungkinkan dengan penyimpanan data dalam basis data.
D. MANFAAT/KELEBIHAN BASIS DATA
Banyak memanfaat yang dapat kira peroleh dengan menggunakan basis data. Manfaat/kelebihan basis data diantaranya adalah:
1) Kecepatan dan kemudahan (speed)
Dengan menggunakan basis data pengambilan informasi dapat dilakukan dengan cepat dan mudah. Basis data memiliki kemampuan dalam mengelompokan, mengurutkan bahkan perhitungan dengan metematika. Dengan perancangan yang benar, maka penyajian informasi akan dapat dilakukan dengan cepat dan mudah.
2) Kebersamaan pemakai
Sebuah basis data dapat digunakan oleh banyak user san banyak aplikasi. Untuk data-data yang diperlukan oleh banyak orang/bagian. Tidak perlu dilakukan pencatatan dimasing-masing bagian, tetapi cukup dengan satu basis data untuk dipakai bersama. Misalnya data mahasiswa dalam suatu perguruan tinggi, dibutuhkan oleh banyak bagian, diantaranya: bagian akademik, bagian keuangan, bagian kemahasiswaan, dan perpustakaan. Tidak harus semua bagian ini memiliki catatan dan semua bagian bisa mengakses data tersebut sesuai dengan keperluannya.
3) Pemusatan control data
karena cukup dengan satu basis data unutk banyak keperluan, pengontrolan terhadap data juga cukup dilakuan di satu tempat saja. Jika ada perubahan data alamat mahasiswa misalnya, maka tidak perlu kita meng-update semua data dimasing-masing bagian tetapi cukup hanya disatu basis data.
4) Efesiensi ruang penyimpanan (space)
Dengan pemakain bersama, kita tidak perlu menyediakan tempat penyimpanan diberbagai tempat, tetapi cukup satu saja sehingga ini akan menghemat ruang penyimpanan data yang dimilikioleh sebuah organisasi. Dengan teknik perancangan basis data yang benar, kita akan menyederhanakan penyimpanan sehingga tidak semua data harus disimpan.
5) Keakuratan (Accuracy)
Penerapan secara ketat aturan tipe data, domain data, keunikan data, hubungan antara data, dan lain-lain, dapat menekan keakuratan dalam pemasukan/penyimpanan data.
6) Ketersediaan (availability)
Dengan basis data kita dapat mem-backup data, memilah-milah data mana yang masih diperlukan dan data mana yang perlu kita simpan ke tempat lain. Hal ini mengingat pertumbuhan transaksi suatu organisasi dari waktu ke waktu membutuhkan media penyimpanan yang semakin besar.
7) Keamanan (Security)
Kebanyakan DBMS dilengkapi dengan fasilitas manajemen pengguna diberikan hak akses yang berbeda-beda sesuai dengan pengguna dan posisinya. Basis data bisa diberikan passwordnya untuk membatasi orang yang mengaksesnya.
8) Kemudahan dalam pembuatan program aplikasi baru
Pengguna basis data merupakan bagian dari perkembangan teknologi. Dengan adanya basis data pembuatan aplikasi bisa memanfaatkan kemampuan dari DBMS, sehingga pembuatan aplikasi tidak perlu mengurusi penyimpanan data, tetapi cukup mengatur interface untuk pengguna.
9) Pemakain secara langsung
Basis data memiliki fasilitas untuk melihat datanya secara langsung dengan tool yang disediakan oleh DBMS. Untuk melihat data, langsung ke table ataupun menggunakan query. Biasanya yang menggunakan fasilitas ini adalah user yang sudah ahli, atau database administrator.
10) Kebebasan data (Data Independence)
Jika sebuah program telah selesai dibuat, dan ternyata ada perubahan isi/struktur data. Maka dengan basis data, perubahan ini hanya perlu dilakukan pada level DBMS tanpa harus membongkar kembali program aplikasinya.
11) User view
Basis data penyediaan pandangan yang berbeda-beda untuk tiap-tiap pengguna. Misalnya kita memiliki data-data dari perusahaan yang bergerak dibidang retail. Data yang ada berupa data barang, penjualan, dan pembelian. Ada beberapa jenis pengguna yang memerlukan informasi terkait dengan data perusahaan tresebut. Mereka adalah pelanggan, kasir, bagian gudang, bagian akutansi dan manajer. Tidak semua data boleh diakses oleh semua pengguna. Misalnya kasir dia hanya boleh berhak melihat informasi nama barang dan harga jualnya. Sementara itu dia berhak untuk memasukan data penjualan . berbeda dengan pelanggan yang hanya melihat data keberadaan barang dan harga jual tetapi tidak berhak memasukan atau merubah data. Sementara itu bagian akutansi berhak melihat keuntungan dari tiap-tiap barang untuk menganalisa data akutansinya.Basis data mampu memberikan layanan organisasi seperti ini.
BAB I
Relationship
A. Pengertian Relationship
Relationship Adalah hubungan antara suatu himpunan entitas dengan himpunan entitas lainnya. Simbol yang digunakan adalah bentuk belah ketupat, diamod atau rectangle.
B. Jenis Reliationship :
- One to one (1:1)
- One to many/many to one (1: M / M:1)
- Many to many (M : M)
C. Many to Many Relationship
Hubungan file pertama dan file kedua adalah banyak berbanding banyak.
Contoh :
• Dalam universitas seorang mahasiswa dapat mengambil banyak matakuliah
• "Satu mahasiswa mengambil banyak matakuliah dan satu matakuliah diambil banyak mahasiswa."
Contoh pemetaan Hubungan Many to Many:
|
|
D. Many-to-Many Relationship dengan Entity Framework
Salah satu kelebihan Entity Framework dibandingkan LINQ to SQL adalah kemampuannya menangani many-to-many relationship dari entity dalam database dan meng-generate model objek yang benar. Dalam hal ini Entity Framework boleh dibilang lebih ORM dibandingkan dengan LINQ to SQL.
Sebagaimana kita ketahui bersama, dalam database relasional seperti SQL Server 2005, many-to-many relationship ditangani dengan memperkenalkan Tabel mapping antara dua entity yang berhubungan. Sebagai contoh, kita bisa membuka isi database Northwind di SQL Server 2005 dan melihat many-to-many relationship antara Tabel Employees dan Territories.
LINQ 2 SQL tidak bisa mengenali bahwa relasi antara Employees dan Territories adalah many-to-many. Sehingga model objek yang dihasilkan oleh generator LINQ 2 SQL persis copy dari model datanya.
Database relasional menghadirkan Tabel mapping untuk menjembatani many-to-many relationship ini karena keterbatasan dari Tabel yang tidak bisa menyimpan tipe data komposit. Sebaliknya model objek tidak memiliki keterbatasan ini. Dalam skema antara Employees dan Territories di atas, model objek yang benar akan menempatkan satu entity sebagai atribut komposit dari yang lainnya. Jadi, model objek yang benar tidak akan meng-generate class EmployeeTerritory seperti yang di-generate oleh LINQ 2 SQL.
Hal inilah salah satu faktor yang menyebabkan beberapa orang menganggap LINQ 2 SQL bukanlah ORM. Ia lebih mirip ke typed Dataset dengan tambahan kemampuan berupa language integrated query. Dengan tambahan kemampuannya itu setidaknya ia lebih baik dari typed Dataset.
Entity Framework hadir membenahi kekurangan LINQ to SQL tersebut. Many-to-many relationship antara dua Tabel Employees dan Territories dimodelkan dengan benar menurut kaidah OO untuk menggambarkan relasi antara dua objek.
Database relasional menghadirkan Tabel mapping untuk menjembatani many-to-many relationship ini karena keterbatasan dari Tabel yang tidak bisa menyimpan tipe data komposit. Sebaliknya model objek tidak memiliki keterbatasan ini. Dalam skema antara Employees dan Territories di atas, model objek yang benar akan menempatkan satu entity sebagai atribut komposit dari yang lainnya. Jadi, model objek yang benar tidak akan meng-generate class EmployeeTerritory seperti yang di-generate oleh LINQ 2 SQL.
Hal inilah salah satu faktor yang menyebabkan beberapa orang menganggap LINQ 2 SQL bukanlah ORM. Ia lebih mirip ke typed Dataset dengan tambahan kemampuan berupa language integrated query. Dengan tambahan kemampuannya itu setidaknya ia lebih baik dari typed Dataset.
Entity Framework hadir membenahi kekurangan LINQ to SQL tersebut. Many-to-many relationship antara dua Tabel Employees dan Territories dimodelkan dengan benar menurut kaidah OO untuk menggambarkan relasi antara dua objek.
Jadi, Entity Framework selangkah lebih baik dibandingkan LINQ to SQL dalam hal mendeteksi many-to-many relationship dan meng-generate model objek yang benar.
Database Management System(DBMS)
merupakan paket program (Software) yang dibuat
agar memudahkan dan mengefisienkan
pemasukan, pengeditan, penghapusan dan
pengambilan informasi terhadap database.
Software yang tergolong kedalam DBMS antara
lain, Microsoft SQL, MySQL, Oracle, MS. Access,
dan lain-lain
database sehingga menyerupai
kondisi yang sebenarnya dihadapi oleh pengguna seharihari..
Sebuah DBMS seringkali menyembunyikan detail
tentang bagaimana sebuah data disimpan dan dipelihara
(diolah) dalam sebuah sistem database, dengan tujuan
untuk memudahkan pengguna dalam menggunakan DBMS
tersebut. Karena itu seringkali data yang terlihat oleh
pemakai sebelumnya berbeda dengan yang tersimpan
secara fisik.
Ada 3 (tiga) tingkatan atau level
dalam abstraksi data ini :
• Level Fisik (Physical Level)
• Level Konseptual (Conceptual Level)
• Level Pandangan (View Level)
• Level Fisik (Physical Level)
Level abstraksi data yang paling rendah, yang
menggambarkan bagaimana (how) data disimpan dalam
kondisi sebenarnya. Level ini sangat kompleks karena
struktur data dijelaskan secara rinci.
• Level Konseptual (Conceptual Level)
Level ini menggambarkan data apa (what) yang disimpan
dalam database dan menjelaskan bagaimana hubungan
antar datanya secara keseluruhan. Seorang pengguna
dalam level ini dapat mengetahui bahwa data mahasiswa
disimpan pada tabel mahasiswa, tabel krs, tabel transkrip
dan lain sebagainya. Level ini biasa di pakai oleh seorang
Database Administrator (DBA).
• Level Pandangan (View Level)
Ini merupakan level yang tertinggi, hanya
menggambarkan sebagian saja dari keseluruhan
database sesuai dengan kebutuhan pengguna. Misalnya
: Bagian keuangan hanya membutuhkan data keuangan,
jadi yang digambarkan hanya pandangan terhadap data
keuangan saja, begitu juga dengan bagian akuntansi,
hanya membutuhkan data akuntansi saja. Jadi tidak
semua pengguna database membutuhkan seluruh
informasi yang terdapat dalam database tersebut.
Model Database
• Model database adalah suatu konsep yang
terintegrasi dalam menggambarkan hubungan
(relationships) antar data dan batasan-batasan
(constraint) data dalam suatu sistem database.
Model data yang paling umum, berdasarkan pada
bagaimana hubungan antar record dalam database
(Record Based Data Models), terdapat tiga jenis,
yaitu :
• a. Model Database Hirarki
(Hierarchical Database Model)
• b. Model Database Jaringan
(Network Database Model)
• c. Model Database Relasi
(Relational Database Model)
• Model database hirarki dan jaringan merupakan model
database yang tidak banyak lagi dipakai saat ini, karena
adanya berbagai kelemahan dan hanya cocok untuk
struktur hirarki dan jaringan saja. Artinya tidak
mengakomodir untuk berbagai macam jenis persoalan
dalam suatu sistem database. Yang paling banyak dipakai
saat ini adalah model database relasi, karena mampu
mengakomodir berbagai permasalahan dalam sistem
database. Berikut keterangan tentang model database ini.
Model Database Relasi (Relational
Database Model)
• Model database relasi merupakan model database
yang paling banyak digunakan saat ini, karena paling
sederhana dan mudah digunakan serta yang paling
penting adalah kemampuannya dalam
mengakomodasi berbagai kebutuhan pengelolaan
database. Sebuah database dalam model ini disusun
dalam bentuk tabel dua dimensi yang terdiri dari baris
(record) dan kolom (field), pertemuan antara baris
dengan kolom disebut item data (data value), tabeltabel
yang ada di hubungkan (relationship)
sedemikian rupa menggunakan field-field kunci
(Key field) sehingga dapat meminimalkan duplikasi
data.
• Model database relasi ini dikemukakan
pertama kali oleh E.F. Codd, salah seorang
pakar dalam bidang database. Sering juga
model ini disebut Database relasi.
Tingkatan Data Dalam Database Relasi
Dalam suatu sistem database relasi, data yang tersimpan dalam
DBMS mempunyai tingkatan-tingkatan, sebagai berikut :
• Karakter (Characters)
Merupakan bagian terkecil dalam database, dapat berupa
karakter numerik (angka 0 s.d 9), huruf ( A - Z, a - z) ataupun
karakter-karakter khusus, seperti *, &. %, # dan lain-lain.
• Field atau Attribute
Merupakan bagian dari record yang menunjukkan suatu item
data yang sejenis, Misalnya : field nama, file NIM dan lain
sebagainya. Setiap field harus mempunyai nama dan tipe data
tertentu. Isi dari field di sebut Data Value. Dalam tabel
database, field ini disebut juga kolom.
• Record atau Tupple
Tuple/Record adalah kumpulan data value dari attributee yang
berkaitan sehingga dapat menjelaskan sebuah entity secara
lengkap. Misal : Record entity mahasiswa adalah kumpulan data
value dari field nobp, nama, jurusan dan alamat per-barisnya.
Dalam tabel database, Record disebut juga baris.
• Table/Entity
Entity merupakan sesuatu yang dapat diidentifikasi dari suatu
sistem database, bisa berupa objek, orang, tempat, kejadian atau
konsep yang informasinya akan disimpan di database. Misal.
Pada sistem database akademik, yang menjadi entity adalah,
mahasiswa, dosen, matakuliah dan lain-lain. Dalam aplikasi
nantinya, penggunaan istilah Entity sering di samakan dengan
istilah Tabel. (Entity = table). Disebut tabel, karena dalam
merepresentasikan datanya di atur dalam bentuk baris dan
kolom. Baris mewakili 1 record dan kolom mewakili 1 field.
Dalam sistem database tradisional, entity/table ini disebut juga
dengan file.
• Database
Kumpulan dari tabel-tabel yang saling
berelasi, disusun secara logis, sehingga
menghasilkan informasi yang bernilai guna
dalam proses pengambilan keputusan.
Ada beberapa sifat yang melekat
pada suatu tabel :
• Tidak boleh ada record yang sama (kembar)
• Urutan record tidak terlalu penting, karena data
dalam record dapat diurut sesuai dengan
kebutuhan.
• Setiap field harus mepunyai nama yang unik (tidak
boleh ada yang sama).
• Setiap field mesti mempunyai tipe data dan
karakteristik tertentu
Jenis Hubungan Antar Tabel
• Jenis hubungan antar tabel dalam model database relasi,
juga di definisikan dengan hubungan :
– Satu ke satu (One to One)
– Satu ke Banyak (One to Many)
– Banyak ke satu (Many to One)
– Banyak ke Banyak (Many to Many)
• Untuk lebih jelasnya penggunaan hubungan ini, sering
digunakan Diagram Entity Relationship (Diagram E-R)
yang merupakan bagian dari Model Data Entity
Relationship
Model Data Entity Relationship
• Model data entity relationship sering dijadikan acuan dalam
merancang suatu sistem database.
• Pada Model Data Entity Relationship ini, data yang ada
ditransformasikan dengan memanfaatkan sejumlah
perangkat konseptual menjadi diagram data, yang sering
disebut Diagram Entity Relationship (Diagram E-R).
Ada dua komponen utama pembentuk model data ini, yaitu
:
– Entity beserta attributenya.
– Relasi dan jenis hubungannya
Contoh :
• Dalam dunia akademis terdiri dari entity mahasiswa,
dosen, dan matakuliah. Setiap entity mempunyai atribut
atau field. Attribute adalah ciri khan yang melekat pada
suatu entity. Misalnya entity mahasiswa, ciri khas dari
mahasiswa adalah mempunyai nama, tempat tanggal lahir,
alamat dan lain sebagainya, begitu juga dengan dosen,
mempunyai nama, alamat, dan lain sebagainya. Lalu
keterkaitan antara entity mahasiswa dengan entity dosen,
mahasiswa dengan matakuliah atau dosen dengan
matakuliah, digambarkan dengan simbol-simbol sehingga
lebih mudah dipahami. Penggambaran hubungan inilah
yang disebut dengan diagram E-R.
Diagram Entity Relationship
(Diagram E-R)
• Diagram E-R digunakan untuk menggambarkan secara
sistematis hubungan antar entity-entity yang ada dalam suatu
sistem database menggunakan simbol-simbol sehingga lebih
mudah dipahami. Simbol-simbol yang boleh digunakan adalah :
• Persegi Panjang, berfungsi untuk menyatakan suatu entity.
• Elips, berfungsi untuk menyatakan attribute, jika diberi garis
bawah menandakan bahwa attribute tersebut merupakan
attribute/field kunci.
• Belah Ketupat, menyatakan jenis relasi.
• Garis, penghubungan antara relasi dengan entity dan antara
entity dengan attribute.
• Dalam hubungan antar entity, juga harus
ditentukan derajat relasi antar entity. Derajat relasi
menunjukkan jumlah maksimum record suatu entity
ber-relasi dengan record pada entity yang lainnya.
Misalnya pada contoh sebelumnya, entity
mahasiswa dapat berelasi dengan lebih dari satu
record yang ada pada entitas matakuliah sebaliknya
satu record pada entity matakuliah hanya boleh
ber-relasi dengan satu mahasiswa yang sama
pada entity mahasiswa, begitu juga satu record
pada entity matakuliah berhubungan paling banyak
satu record juga pada entity dosen, dan
seterusnya.
Relasi Satu ke Satu (One to One)
• Artinya satu record pada entity A ber-relasi paling
banyak satu record juga pada entity B, begitu juga
sebaliknya, satu record pada entity B, ber-relasi
paling banyak satu record juga dengan entity A.
Dalam diagram E-R, relasi ini disimbolkan dengan
angka 1.
• Contoh : Dalam proses belajar mengajar secara
privat misalnya, seorang (satu) tutor hanya
mengajar satu siswa, begitu juga sebaliknya, satu
siswa hanya diajar oleh satu tutor.
Relasi Satu ke Banyak (One to
Many)
• Artinya satu record pada entity A ber-relasi dengan
beberapa record pada entity B, tapi tidak sebaliknya,
setiap record pada entity B ber-relasi paling banyak satu
record dengan entity A. Dalam diagram E-R, relasi ini
disimbolkan dengan angka 1 untuk menyatakan satu dan
huruf M atau N untuk menyatakan banyak.
• Contoh : Dalam proses belajar mengajar di sekolah dasar
misalnya, satu orang guru mengajar beberapa (banyak)
murid, tetapi satu kelas (beberapa murid) hanya di ajar
oleh satu guru.
Relasi Banyak ke Satu (Many to
One)
• Ini adalah kebalikan dari relasi satu ke banyak, dimana
setiap record pada entity A hanya dapat ber-relasi paling
banyak 1 record pada entity B, tapi tidak sebaliknya, satu
record pada entity B dapat ber-relasi dengan beberapa
record pada entity A.. Dalam diagram E-R, relasi ini
disimbolkan dengan angka 1 untuk menyatakan satu dan
huruf M atau N untuk menyatakan banyak..
• Contoh : Dalam dunia akademik misalnya, beberapa
(banyak) mahasiswa hanya mempunyai satu pilihan
jurusan, sebaliknya satu jurusan dapat dipilih oleh beberapa
(banyak) mahasiswa
Relasi Banyak ke Banyak (Many
to Many)
• Artinya beberapa record pada entity A dapat ber-relasi
dengan beberapa record juga pada entity B, begitu juga
sebaliknya, beberapa record pada entity B dapat ber-relasi
dengan beberapa record juga pada entity A.. Dalam
diagram E-R, relasi ini disimbolkan dengan huruf M atau N
untuk menyatakan banyak..
• Contoh : Dalam hubungan antara mahasiswa dengan
dosen pada perguruan tinggi, yaitu seorang seorang dosen
mengajar banyak mahasiswa, sebaliknya seorang
mahasiswa dapat diajar oleh beberapa dosen, sehingga
terjadi hubungan banyak ke banyak.
Tahapan Membuat Diagram E-R.
• Mengidentifikasi dan menetapkan seluruh entity
yang terlibat dalam sistem database tersebut.
• Menentukan attribute-attribute atau field dari
masing-masing entity beserta kunci (key)-nya.
• Mengidentifkasi dan menetapkan seluruh
himpunan relasi diantara himpunan-himpunan
entity yang ada beserta kunci tamu (foreign key)-
nya.
• Menentukan derajat relasi untuk setiap himpunan
relasi.
Menentukan attribute-attribute atau field dari
masing-masing entity beserta kunci (key)-nya.
• Menentukan attribute dari suatu entitas sangat menentukan baik
atau tidaknya sistem database yang dirancang, karena attribute
ini sangat menentukan nantinya dalam proses relasi. Attribute
merupakan ciri khas yang melekat pada suatu entity, misalnya
attribute pada mahasiswa dapat berupa nobp, nama, tempat
lahir, tanggal lahir, alamat, nama orang tua, pekerjaan orang tua
dan lain-lain. Dari sekian banyak kemungkinan attribute yang
ada pada entity mahasiswa, kita dapat menggunakan hanya
yang perlu saja. Setelah menentukan attributenya selanjutnya
adalah menentukan field kunci. Field kunci adalah penanda
attribute tersebut sehingga bisa digunakan untuk relasi nantinya
dan field kunci ini harus bersifat unik. Misalnya pada entity
mahasiswa, attribute nobp bisa dijadikan field kunci, karena
bersifat unik dan tidak ada mahasiswa yang mempunyai nobp
sama.
Mengidentifkasi dan menetapkan seluruh himpunan
relasi diantara himpunan-himpunan entity yang ada
beserta kunci tamu (foreign key)-nya.
• Setelah menentukan entity dan attribute beserta field kuncinya,
maka selanjutnya adalah menentukan entity yang terbentuk
akibat adanya relasi antar entity. Misalnya antara entity
mahasiswa dengan entity dosen, terjadi suatu hubungan proses
mengajar, maka proses mengajar ini merupakan entity baru.
Entity mengajar ini harus kita tentukan juga attribute yang
melekat padanya beserta kunci tamu (foreign key). Kunci tamu
adalah field kunci utama pada tabel lain, dan field tersebut
digunakan juga pada tabel yang satu lagi. Misalnya nobp adalah
field kunci dari entity mahasiswa, pada entity mengajar terdapat
juga attribute NoBP, maka keberadaan attributee nobp pada
entity mengajar disebut sebagai kunci tamu. Proses menentukan
hubungan antar entity juga sangat menentukan kualitas sistem
database yang dirancang.
Menentukan derajat relasi untuk
setiap himpunan relasi
• Setelah semua entity dan attribute yang dibutuhkan
terbentuk, maka selanjutnya adalah menentukan derajat
relasi antar entity tersebut, apakah satu kesatu, satu ke
banyak atau sebaliknya, atau banyak ke banyak. Berhatihatilah
dalam menentukan derajat relasi ini, karena
nantinya akan berhubungan dengan proses query
terhadap data.
Jenis-Jenis Kunci (Key)
• Candidat Key
• Primary Key
• Foreign Key
• Alternate Key
Candidate Key (Kunci Calon)
• Sebuah attribute atau lebih yang secara unit
mengidentifikasi sebuat record, disebut
candidate key. Attribute ini mempunyai nilai
yang unik pada hampir setiap recordnya.
Fungsi dari candidate key ini adalah sebagai
calon primary key
Primary Key (Kunci Utama)
• Merupakan candidate key yang telah dipilih untuk
mengidentifikasi setiap record secara unik. Primary key
harus merupakan field yang benar-benar unik dan tidak
boleh ada nilai NULL. Misal : Perhatikan kembali entity
dosen di atas, yaitu mempunyai dua Candidate Key, maka
kita dapat mengambil field KodeDosen sebagai Primary
Key, Karena lebih sederhana dalam jumlah digit dan unik.
Boleh juga menggunakan NIP sebagai Primary Key-nya, hal
ini tergantung kepada si perancang database itu sendiri.
Alternate Key (Kunci Alternatif)
• Adalah candidate key yang tidak terpilih. Misal : dalam
suatu entity terdapat dua field yang bisa dijadikan sebagai
kunci. Sementara yang boleh dijadikan kunci hanya satu,
maka anda harus memilih salah satu. Field yang anda
pilih, disebut primary key, sedangkan field yang tidak dipilih
disebut dengan alternate key.
• Misal : Kembali ke kasus entity dosen diatas, jika kita pilih
field KodeDosen sebagai Primary Key, maka otomatis field
NIP menjadi Alternate Key-nya, begitu juga sebaliknya.
Foreign Key (kunci Tamu)
• Jika sebuah primary key terhubungan ke
table/entity lain, maka keberadaan primary key
pada entity tersebut di sebut sebagai foreign key.
Misal : Primary Key KodeDosen dari entity Dosen
digunakan juga pada field entity KRS, maka
keberadaan field KodeDosen pada entity KRS
disebut sebagai foreign key.
0 komentar:
Posting Komentar