Maandag 13 Mei 2013

PERINTAH ERD



Sistem Basis Data – Entity Relationship Diagram (ERD)
Posted on 16 Maret 2010






44 Votes

Bahasan Sistem Basis Data kali ini tentang Entity Relationship Diagram (ERD) salah satu bentuk pemodelan basis data yang sering digunakan dalam pengembangan sistem informasi. Bahasan meliputi: Pengertian ERD, Notasi ERD, Metode ERD, Tahap ERD, Kardinalitas, dan Contoh kasus ERD
Dalam rekayasa perangkat lunak, sebuah Entity-Relationship Model (ERM) merupakan abstrak dan konseptual representasi data. Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem  seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Diagram untuk menggambarkan model Entitiy-Relationship ini disebut Entitiy-Relationship diagram, ER diagram, atau ERD.
Ada sejumlah konvensi mengenai Notasi  ERD. Notasi klasik sering digunakan untuk model konseptual. Berbagai notasi lain juga digunakan untuk menggambarkan secara logis dan fisik dari suatu basis data, salah satunya adalah IDEF1X.
Model ERD
Model ERD
Notasi-notasi simbolik yang digunakan dalam Entity Relationship Diagram adalah sebagai berikut :
  • Entitas, Adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak memiliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam suatu relasi.
  • Atribut, Atribut merupakan pendeskripsian karakteristik dari entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah.
  • Relasi atau Hubungan, Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
  • Penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atribut dinyatakan dalam bentuk garis.
Contoh ERD
Contoh ERD
Menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Macam-macam kardinalitas adalah:
  • Satu ke satu (one to one), Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.
  • Satu ke banyak (one to many), Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
  • Banyak ke banyak (many to many), Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B dan demikian pula sebaliknya.
Tahap pertama pada desain sistem informasi menggunakan model ER adalah menggambarkan kebutuhan informasi atau jenis informasi yang akan disimpan dalam database. Teknik pemodelan data dapat digunakan untuk menggambarkan setiap ontologi (yaitu gambaran dan klasifikasi dari istilah yang digunakan dan hubungan anatar informasi) untuk wilayah tertentu.
Tahap berikutnya disebut  desain logis, dimana data dipetakan ke model data yang logis, seperti model relasional.  Model data yang loguis ini kemudian dipetakan menjadi model fisik , sehingga kadang-kadang, Tahap kedua ini disebut sebagai “desain fisik”.
Secara umum metodologi ERD sebagai berikut:
Metodologi ERD
Metodologi ERD
Sebuah perusahaan mempunyai beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai ditugaskan paling tidak di satu bagian (dapat pula dibeberapa bagian). Paling tidak satu pegawai mendapat tugas di satu proyek. Tetapi seorang pegawai dapat libur dan tidak dapat tugas di proyek.
Menentukan entitas
Entitasnya : pengawas, bagian, pegawai, proyek
Menentukan relasi dengan matrik relasi
Menentukan Relasi
Menentukan Relasi
Gambar ERD sementara
Hubungkan entitas sesuai dengan matrik relasi yang dibuat
ERD Sementara
ERD Sementara
Mengisi kardinalitas
Dari gambaran permasalahan dapat diketahui bahwa:
  • masing-masing bagian hanya punya satu pengawas
  • seorang pengawas bertugas di satu bagian
  • masing-masing bagian ada minimal satu pegawai
  • masing-masing pegawai bekerja paling tidak di satu bagian
  • masing-masing proyek dikerjakan paling tidak oleh satu pegawai
Mengisi kardinalitas
Mengisi kardinalitas
Menentukan kunci utama
Kunci utamanya: Nomor Pengawas, Nama Bagian, Nomor Pegawai, Nomor Proyek
Menentukan Kunci Utama
Menentukan Kunci Utama
Menggambar ERD berdasarkan kunci
Ada dua relasi many to many pada ERD sementara, yaitu antara bagian dengan pegawai, pegawai dengan proyek, oleh sebab itu kita buat entitas baru yaitu bagian -pegawai dan pegawai-proyek Kunci utama dari entitas baru adalah kunci utama dari entitas lain yang akan menjadi kunci tamu di entitas yang baru.
Menggambar ERD berdasarkan kunci
Menggambar ERD berdasarkan kunci
Menentukan atribut
Atribut yang diperlukan adalah: nama bagian, nama proyek, nama pegawai, nama pengawas, nomor proyek, nomor pegawai, nomor pengawas
Memetakan atribut
  • Bagian : Nama bagian
  • Proyek: Nama proyek
  • Pegawai:Nama pegawai
  • Pengawas: Nama pengawas
  • Proyek-Pegawai : Nomor proyek, Nomor pegawai
  • Pengawas: Nomor pengawas
Menggambar ERD dengan atribut
Menggambar ERD dengan atribut
Menggambar ERD dengan atribut

select with join

MANIPULASI DATA DENGAN BEBERAPA TABEL
12.1. Operator Join
SQL Server memiliki metode untuk mengambil data dari suatu tabel dengan
menggunakan Join. Join dipakai untuk mencari data dari beberapa tabel berdasarkan
hubungan yang logis dari tabel-tabel tersebut. Join menyatakan cara SQL Server
memakai data dari sebuah tabel untuk memilih data dari tabel lain. SQL Server dapat
menggabungkan tabel-tabel sampai 256 tabel.
Sintaks:
Selectnama_kolom,nama_kolom,[nama_kolom]
From  nama_tabel, [ Cross / Inner / [ Left / Right ] Outer ]
Join nama_tabel  On  nama_tabel.Ref_nama_kolom
OperatorJoin  Nama_tabel.Ref_nama_kolom.
Keterangan:
Nama_kolom  : menspesidikasikan nama kolom dari satu atau beberapa tabel
yang ditampilkan.
Nama_tabel  : adalah nama tabel dari tabel yang diambil
Ref.nama_kolom  :  adalah nama_kolom yang digunakan menggabungkan dua tabel
dengan menggunakan kunci yang umum. Operator Join
menspesifikasikan operator yang digunakan untuk
menggabungkan tabel.
Join dapat dikelompokkan menjadi Inner JoindanOuter Join.
12.1.1. Inner Join
Inner Join adalah sebuah Join yang menghasilkan baris-baris, minimal ada
sebuah baris di kedua tabel yang sesuai dengan kondisi Join. Baris-baris yang tidak
sesuai dengan sebuah baris dari tabel lain tidak ditampilkan. Default adalah InnerJoin.
Contoh :
•buka database PMB, lalu detik perintah berikut ini pada Query Analyzer:
•Lalu tekan F5, maka nampak hasilnya pada gambar di bawah ini.
Gambar 12.1. Query dengan Join 2 table (a)
SQL Server 2000 / MySQL – Navicat 2005
2
@ 2010 : www.didiksetiyadi.com, dds@didiksetiyadi.com
Perintah Select tersebut menghasilkan data yang mempunyai relasi antara tabel
CalonMahasiswa dan Jurusan, dimana yang ditampilkan kolomnya adalah
id_calon,nama_c dari table CalonMahasiswa dan kolom nama_j,jenjang dari table
Jurusan, dengan kriteria jurusannya adalah ‘Manajemen Informatika’. Contoh tersebut
dapat diubah dengan memakai kondisi Where.
Gambar 12.2. Query dengan menggunakan Join 2 table(b)
Contoh dengan tiga tabel :
Gambar 12.3.  Query menggunakan join 3 tabel
12.1.2. Outer Join
Outer Join akan menghasilkan semua data dari sebuah tabel dan membatasi
data dari tabel lain . SQL Server mempunyai tiga buah tipe Outer Join yaitu Left, Right
dan Full. Semua baris dari tabel sebelah kiri diacu oleh sebuah left outer join, dan
sebuah baris dari tabel kanan diacu dengan Right outer join. Kegunaan dari outer join
adalah mencari record-record piatu, artinya record yang ada disebuah tabel tetapi tidak
ada pasangannya pada pada tabel lain.
Contoh :
SQL Server 2000 / MySQL – Navicat 2005
3
@ 2010 : www.didiksetiyadi.com, dds@didiksetiyadi.com
•Ketik perintah berikut pada Query Analyzer :
Gambar 12.4. Query Menggunakan Left Outer Join
•Terlihat bahwa pada kolom id_kelas dan tgl_registrasi bernilai null,
dikarenakan calon mahasiswa tersebut belum melakukan registrasi.
Contoh penggunaan Rigth Outer join :
Gambar 12.5. Query Menggunakan Right Outer Join
Hasil pernyataan select yang memakai pernyataan Right Outer Join adalah
semua baris dari tabel di sebelah kanan dan dari tabel di sebelah kiri hanya yang
memenuhi kondisi join artinya adalah data yang tampil 8 record adalah calon mahasiswa
yang telah melakukan registrasi.
Latihan 12.1.v
Select With Kolom
  Select With Kolom digunakan untuk memilih data berdasarkan kondisi yang kita buat. Contoh:
  Tabel mahasiswa
Nama
Kelas
Jurusan
Sesi
Khairani
KA.12.04
Komputerisasi Akuntansi
Siang
Rini
KA.12.04
Komputerisasi Akuntansi
Siang
Gomal
MI.12.10
Manajemen Informatika
Siang

  Tuliskan kode ini:
            Select with jurusan=‘Manajemen Informatika’
            maka hasilnya:
Nama
Kelas
Jurusan
Sesi
Gomal
MI.12.10
Manajemen Informatika
Siang
Select from 2 Table with Where
Perintah ini digunakan untuk menampilkan data yang berasal dari 2 buah tabel.
Contoh:
Tabel mahasiswa
NIM
Nama Mahasiswa/I
201201030191
Rini Agus Pertiwi
201201030192
Khairani Sudarningsih
201201030193
Silvia Dewi
                                                Tabel Prodi
Jurusan
Jenjang
Komputerisasi Akuntansi
Dipoma-3
Komputerisasi Akuntansi
Dipoma-3
Komputerisasi Akuntansi
Dipoma-3

Ketikkan kode ini:
Select  from mahasiswa and Prodi where
NIM=201201030192 and jurusan=‘Komputerisasi Akuntansi’
Hasilnya:
NIM
Jurusan
201201030192
Komputerisasi Akuntansi


Inner Join adalah sebuah join yang menghasilkan baris-baris, minimal ada sebuah baris di kedua table yang sesuai dengan kondisi join.
Contoh:
Tabel calon mahasiswa
NIM
Nama
201201030191
Rini Agus Pertiwi
201201030192
Khairani Sudarningsih
201201030193
Silvia Dewi
                                    tabel prodi
Jurusan
Jenjang
NIM
Komputerisasi Akuntansi
Diploma-3
201201030191
Komputerisasi Akuntansi
Diploma-3
201201030192
Komputerisasi Akuntansi
Diploma-3
201201030193

Dengan menggunakan Inner Join, ketikkan perintah:
Select NIM,Nama,Jurusan,jenjang from calon mahasiswa
Inner Join prodi on calon mahasiswa.NIM=prodi.NIM
Where jurusan=‘Komputerisasi Akuntansi’. Maka hasilnya:
NIM
Nama
Jurusan
Jenjang
201201030191
Rini Agus Pertiwi
Komputerisasi Akuntansi
Diploma-3
201201030192
Khairani Sudarningsih
Komputerisasi Akuntansi
Diploma-3
201201030193
Silvia Dewi
Komputerisasi Akuntansi
Diploma-3

Select from n table with left join
  Left join merupakan bagian dari outer join yang berfungsi menampilkan seluruh baris dan tabel yang berada di sebelah kiri.
  Contoh:
Tabel person
P_Id
LastName
FirstName
Address
City
1
Hansen
Ola
Timoteivn 10
Sandnes
2
Svendson
Tove
Borgvn 23
Sandnes
3
Pettersen
Kari
Storgt 20
Stavanger
                                                            tabel orders
O_Id
OrderNo
P_Id
1
77895
3
2
44678
3
3
22456
1
4
24562
1
5
34764
15

Sekarang kita akan menyusun tabel “peson” & “order”
gunakan perintah ini:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
 maka hasilnya
LastName
FirstName
OrderNo
Hansen
Ola
22456
Hansen
Ola
24562
Pettersen
Kari
77895
Pettersen
Kari
44678
Svendson
Tove
 

Select from n table with right join
  Right join merupakan bagian dari outer join yang berfungsi menampilkan seluruh baris dan tabel yang berada di sebelah kanan.
Tabel mahasiswa        
Nama mahasiswa
Alamat
Id
Khairani Sudarningsih
Jl. Setianegara I
001
Rini Agus Pertiwi
Jl. Singosari
002
Silvia Dewi
Jl. Medan
003
                                                tabel registrasi
Id_kelas
Tgl_registrasi
KA.12.04
2013-06-07
KA.12.01
2013-06-15
KA.12.06
2013-06-19

Jika ingin menggunakan fungsi right join maka ketikkan perintah:
Select Nama_mahasiswa,Alamat,Id_kelas,Tgl_registrasi
From calon_mahasiswa right outer join mahasiswa on mahasiswa.id=calon_mahasiswa.id
Maka hasilnya akan:
Nama mahasiswa
Alamat
Id_kelas
Tgl_registrasi
Khairani Sudarningsih
Jl. Setianegara I
KA.12.04
2013-06-07
Rini Agus Pertiwi
Jl. Singosari
KA.12.01
2013-06-15
Silvia Dewi
Jl. Medan
KA.12.06
2013-06-19

  Select from n table with unionPerintah union digunakan untuk menggabungkan atau menyatukan dua buah tabel yang berbeda menjadi satu buah tabel yang baru, tetapi tetap menggunakan data yang sama.
  Contoh:
            Union:SELECT name,age  FROM football
                        UNION
                        SELECT name,age FROM baseball
Baseball
name
age
Reid
16
Alex
21
Greek
19







Football
name
age
John
20
Alex
21
Robort
23
Hasil

name
age
John
20
Alex
21
Robort
23
Reid
16
Greek
19