Tugas 5 (921411236)
Diagram Entity-Relationship (Diagram E-R)
Model ER berisi komponen-komponen Himpunan Entitas dan Himpunan Relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari ‘dunia nyata’ yang kita tinjau. Digambarkan dengan lebih sistematis dengan menggunakan Diagram Entity-Relationship (Diagram E-R). Dikembangkan oleh Chen (1976).
KOMPONEN-KOMPONEN DIAGRAM E-R
Adapun komponen-komponen yang digunakan dalam membuat digram E-R sebagai berikut :
Ada beberapa hal yang utama yang harus diperhatikan dalam pembuatan diagram E-R yaitu bahwa:
1) Setiap entitas HARUS memiliki atribut, terdiri dari 1 atau lebih atribut.
2) Untuk aribut yang berperan sebagai primary key diberikan garis bawah.
3) Dalam diagram E-R tidak ada yang disebut atribut foreign key.
1. Entitas
Entitas adalah objek dalam bentuk fisik maupun konsep yang dapat dibedakan dengan objek lainnya. Menurut wikipedia adalah suatu objek yang dapat didefinisikan dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat. Contoh : entitas MAHASISWA, entitas BUKU, entitas MATAKULIAH
Perbedaan antara weak entity dan strong entity
Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain). Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung.
2. Attribute
Menurut wikipedia Entytas mempunyai elemen yang disebut atribut, dan berfungsi mendekripsikan karakter dari entitas. Atribut adalah properti atau karakteristik yang dimiliki oleh suatu entitas dimana properti atau karakteristik itu bermakna atau berarti bagi organisasi atau perusahaan, misalnya untuk pencatatan data pegawai di suatu instansi, entitas pegawai mungkin memiliki atribut-atribut nomor induk pegawai, nama, alamat, nomor telepon, gaji pokok dan lainnya. Setiap diagram hubungan entitas bisa terdapat lebih dari satu atribut.
JENIS-JENIS ATRIBUT (Attribute) Atribut merupakan penentuan properti atau karakteristik yang terdapat pada setiap entitas. Jenis-jenis atribut:
Atribut Komposit yaitu atribut yang dapat dipecah menjadi bagian-bagian yang lebih kecil dan tetap bermakna. Contoh: atribut nama seringkali dipecah menjadi nama_depan, nama_tengah, dan nama_belakang atau cukup berupa nama_depan dan nama_belakang saja.
Atau contoh lainnya:
Alamat : jalan, kota, kode_pos.Jalan : no_jalan, nama_jalan, nomor apartemen.
Atribut Sederhana yaitu atribut yang tidak dapat dipecah menjadi bagian-bagian yang lebih kecil yang masih memiliki makna. Contoh: atribut jenis_kelamin (yang berisi pria dan wanita)Atribut Turunan merupakan nilai atribut dalam suatu entitas yang bisa dihitung atau diturunkan dari nilai suatu atribut atau sejumlah atribut yang tersimpan dalam database atau dari nilai lain (misalnya jam sistem atau tanggal sistem). Dan biasanya atribut turunan ini tidak muncul dalam tabel database. Contoh lain: a. Usia, yang menyatakan usia seseorang. Nilai untuk usia ini dapat diperoleh dari atribut Tanggal_Lahir. b. Lama_Bekerja, yang menyatakan lama seseorang sudah bekerja pada suatu organisasi. Nilainya bisa dihitung berdasarkan Tanggal_Mulai_Bekerja. Untuk menandakan aribut turunan dapat dinyatakan dengan bentuk lonjong dengan garis terputus-putus sebagai berikut:
Berikut merupakan penggambaran entitas MAHASISWA dengan melibatkan atribut komposit, atribut sederhana, dan atribut turunan dari contoh diatas.
Atribut Tersimpan merupakan atribut yang nilainya tidak bisa didapatkan dari atribut-atribut lain dan benar-benar tersimpan pada database.Atribut Bernilai-tunggal (singled-valued attribute) adalah atribut yang nilai atributnya hanya satu untuk setiap entitas. Simbol: dinyatakan dengan bentuk lonjong biasa dan tidak ada garis bingkai diluarnya.
Atribut Bernilai-banyak (multi-valued attribute) adalah atribut yang nilai atributnya bisa lebih dari satu untuk setiap entitas.
Simbol: dinyatakan dengan terdapatnya dua garis yang membingkai bentuk lonjong.
3. Relationship
Relationship adalah Hubungan yang terjadi antara satu entitas atau lebih. Contoh : relationship mengambil yang menggambarkan mahasiswa yang mengambil matakuliah.
4. Hubungan Relasi/Kardinalitas
Dapat di artikan bahwa dari beberapa tabel yang berada di database paling tidak memiliki hubungan yang berkaitan untuk menghasilkan kriteria informasi yang diharapkan, nah dalam tiap relasi tabel tersebut memiliki jenis masing-masing antar lain one-to-many,one-to-one,many-to-many dan many-to-one penentuan jenis tersebut berdasarkan dari hubungan antar entitas atau tabel tersebut, berikut pengertiannya
a) One To One
yang dimaksud dengan relasi one to one adalah suatu hubungan dimana entitas pertama hanya mempunyai 1 hubungan pada entitas kedua. contoh : 1 KTP hanya untuk 1 orang. tidak pernah mungkin 1 KTP bisa dimiliki banyak org
b) One To Many
yang dimaksud dengan relasi one to many adalah suatu hubungan dimana 1 entitas pertama bisa mempunyai banyak hubungan pada entitas kedua. contoh : 1 komputer di labkom bisa di gunakan untuk banyak siswa.
c) Many To One
Relasi many to one merupakan kebalikan dari relasi “one to many”. contoh : banyak murid hanya mempunyai 1 wali kelas
d) Many To Many
yang dimaksud dengan relasi many to many adalah setiap entitas pertama dapat mempunyai banyak hubungan pada entitas yang kedua. begitu juga sebaliknya, setiap entitas yang kedua bisa memiliki banyak hubungan pada entitas pertama.
http://ndoware.com http://blog.its.ac.iddan http://reckys.wordpress.com
Berikut ini sebuah kasus beserta diagram Entity-Relationship-nya (Diagram E-R)
Kasus :
Toko “Pelangi” adalah toko yang menjual berbagai macam barang. Di Toko “Pelangi” terdapat karyawan, barang, supplier, dan pelanggan. Karyawan menjual barang dan membuat faktur penjualan. Supplier menyediakan barang dan membuat faktur supply. Pelanggan membeli barang yang disediakan oleh toko tersebut.
Dari kasus tersebut kita dapat membuat tabel matriks.
Karyawan menjual barang dan membuat faktur penjualan.Supplier menyediakan barang dan membuat faktur supply. Pelanggan membeli barang yang disediakan oleh toko.
Dari kasus tersebut dapat dibuat juga diagram entity relationship.
1) Identifikasi entitas dan atribut key untuk masing-masing entitas sebagai berikut:
2) Identifikasi seluruh relasi dengan himpunan entitas - himpunan entitas
1. Karyawan dengan barang, relasinya adalah menjual.
2. Karyawan dengan faktur penjualan, relasinya adalah membuat.
3. Supplier dan barang, relasinya adalah menyediakan.
4. Supplier dengan faktur supply, relasinya adalah membuat.
5. Pelanggan dan barang, relasinya adalah membeli.
3) Identifikasi atribut-atribut deskriptif (non key) pada entitas dan relasi
4) Identifikasi bilangan kardinalitas pada relasi dan entitas
Bilangan Kardinalitas pada relasi dua entitas sebagai berikut:
a) Karyawan dan barang : One to many
b) Karyawan dan faktur penjualan : One to one
c) Supplier dan faktur supply : One to one
d) Barang dan pelanggan : Many to many
e) Barang dan supplier : Many to many
Tugas 6 (921411236)
Relasi Tabel Dalam Mysql
Relasi table pada database sangat diperlukan untuk menyederhanakan data-data kita,dan supaya mudah untuk diatur.Ada beberapa cara yang digunakan untuk merelasikan table.Pada pelajaran kali ini saya akan mengajarkan cara relasi database dengan menggunakan keluarga JOIN.Relasi table dengan Join ada 6 macam.
ï‚· CROSS JOIN
ï‚· STRAIGHT JOIN
ï‚· INNER JOIN
ï‚· RIGHT JOIN
ï‚· LEFT JOIN
ï‚· NATURAL JOIN
Contoh:
Anda membuat table namanya nilai dengan huruf kecil semua.untuk menampilkan isi dari table
gunakan query berikut
select * from nilai //work
select * from Nilai //don’t work
select * from NILAI //don’t work
SeLeCt * FroM nilai //work
Sekarang masuk ke mysql server anda jika memakai console ketik mysql –u root –p [enter] masukkan password. Setelah itu masuk ke database produk mysql> use produk Lalu untuk melihat table yang sudah dibuat ketik perintah berikut
mysql> show tables;
+------------------+
| Tables_in_produk |
+------------------+
| jenis |
| produk |
+------------------+
2 rows in set (0.00 sec)
Disitu terdapat dua table yang ingin kita relasikan yaitu table jenis dan produk.Untuk meliat deskripsi dari kedua table tersebut gunakan query berikut
mysql> desc produk;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id_produk | int(11) | NO | PRI | NULL | auto_increment |
| nm_produk | varchar(40) | YES | | NULL | |
| no_jenis | int(3) | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)
mysql> desc jenis
-> ;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| no_jenis | int(11) | NO | PRI | NULL | auto_increment |
| nm_jenis | varchar(20) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
Perhatikan pada table jenis dan produk terdapat field yang sama yaitu no_jenis.yang akan kita gunakan untuk merelasikan kedua table berikut.
Pada table produk primary key nya adalah id_produk sedangkan pada table jenis primary key nya adalah no_jenis.Nah,pada table jenis no_jenis adalah kunci primer(primary key),sedangkan pada table produk no_jenis adalah kunci tamu(foreign key).
Sekarang kita lihat isi dari masing-masing table berikut
mysql> select * from jenis;
+----------+------------+
| no_jenis | nm_jenis |
+----------+------------+
| 1 | Furniture |
| 2 | Elektronik |
| 3 | FOOD |
+----------+------------+
3 rows in set (0.00 sec)
mysql> select * from produk;
+-----------+-----------+----------+
| id_produk | nm_produk | no_jenis |
+-----------+-----------+----------+
| 1 | Lemari | 1 |
| 2 | Kulkas | 2 |
| 3 | Meja | 1 |
| 4 | Bangku | 1 |
| 5 | Televisi | 2 |
| 6 | Komputer | 2 |
+-----------+-----------+----------+
6 rows in set (0.00 sec)
Nah pada field/kolom no_jenis pada table jenis dan produk ,kita bermaksud menghubungkan.
JOIN TABLE
1.INNER JOIN
Inner Join konseprnya sama seperti Cross Join Tidak ada perbedaan apapun mysql> select id_produk,nm_produk,nm_jenis from produk inner join jenis on produk.no_jenis=jenis.no_jenis;
+-----------+-----------+------------+
| id_produk | nm_produk | nm_jenis |
+-----------+-----------+------------+
| 1 | Lemari | Furniture |
| 2 | Kulkas | Elektronik |
| 3 | Meja | Furniture |
| 4 | Bangku | Furniture |
| 5 | Televisi | Elektronik |
| 6 | Komputer | Elektronik |
+-----------+-----------+------------+
6 rows in set (0.00 sec)
mysql> select id_produk,nm_produk,nm_jenis from produk inner join jenis where produk.no_jenis=jenis.no_jenis;
+-----------+-----------+------------+
| id_produk | nm_produk | nm_jenis |
+-----------+-----------+------------+
| 1 | Lemari | Furniture |
| 2 | Kulkas | Elektronik |
| 3 | Meja | Furniture |
| 4 | Bangku | Furniture |
| 5 | Televisi | Elektronik |
| 6 | Komputer | Elektronik |
+-----------+-----------+------------+
6 rows in set (0.00 sec)
2.LEFT JOIN
Left Join digunakan untuk menampilkan semua record pada table di sebelah kiri .
mysql> select id_produk,nm_produk,nm_jenis from produk left join jenis on produk.no_jenis=jenis.no_jenis;
+-----------+-----------+------------+
| id_produk | nm_produk | nm_jenis |
+-----------+-----------+------------+
| 1 | Lemari | Furniture |
| 2 | Kulkas | Elektronik |
| 3 | Meja | Furniture |
| 4 | Bangku | Furniture |
| 5 | Televisi | Elektronik |
| 6 | Komputer | Elektronik |
+-----------+-----------+------------+
6 rows in set (0.00 sec)
Kita Lihat, Pada contoh diatas left join akan menampilkan semua record pada table di sebelah kiri yaitu table produk sedangkan table jenis berada disebelah kanan sehingga table jenis akan menyesuaikan .
3.RIGHT JOIN
Kebalikan dari left join ,right join digunakan untuk menampilkan semua record pada table di sebelah kanan.
mysql> select id_produk,nm_produk,nm_jenis from produk right join jenis on produk.no_jenis=jenis.no_jenis;
+-----------+-----------+------------+
| id_produk | nm_produk | nm_jenis |
+-----------+-----------+------------+
| 1 | Lemari | Furniture |
| 2 | Kulkas | Elektronik |
| 3 | Meja | Furniture |
| 4 | Bangku | Furniture |
| 5 | Televisi | Elektronik |
| 6 | Komputer | Elektronik |
| NULL | NULL | FOOD |
+-----------+-----------+------------+
7 rows in set (0.00 sec)
Dapat kita lihat Table jenis akan ditampilkan semua sehingga untuk field/kolom nm_jenis FOOD karena tidak ada pasangan di table produk maka table produk akan otomatis mengisinya dengan NULL.
Warning!!
Right Join dan Left Join tidak bias menggunakan klausa where sehingga apabila kita gunakan klausa where maka akan muncul pesan error.
<!--[if gte mso 9]> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book T