ERD
ENTITY RELATIONSHIP DIAGRAM
1. pengantar
• ERD merupakan notasi grafis dalam pemodelan data konseptual yang mendeskripsikan hubungan antara penyimpangan
• ERD digunakan untuk memodelkan struktur data dan hubungan antar data, karena hal ini relatif kompleks.
• dengan ERD kita dapat menguji model dengan mengabaikan proses yang harus di lakukan. Dengan ERD kita mencoba menjawab pertanyaan seperti :
1. Data apa yang diperlukan?
2. Bagaimana data yang satu berhubungan dengan yang lain?
2. Notasi dan artinya
a. Entiti : adalah suatu objek yang dapat diidentifikasi dalam lingkungan pemakai. suatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat. sebagai contoh pelanggan, pekerja, mahasiswa, DLL.
a. Contoh : Seandainya A adalah seorang pekerja maka A adalah isi dari pekerja sedangkan jika B adalah seorang pelanggan maka B adalah isi dari pelanggan.
b. karena itu harus dibedakan antara entiti sebagai bentuk umum dari deskripsi tertentu dan isi entiti seperti A dan B dalam contoh di atas.
c. Himpunan entitas : merupakan sekelompok entitas sejenis dan berada dalam lingkup yang sama. misalnya Mobil merupakan himpunan entitas; sedangkan suzuki, honda, toyota merupakan entitas.
d. entiti digambarkan dalam bentuk persegi panjang.
b. Atribut : entiti mempunyai elemen yang disebut atribut dan berfungsi mendeskripsikan karakter entiti. misalnya atribut nama pekerja dan entiti pekerja.
• Setiap ERD bisa terdapat lebih dari satu atribut
• atribut digambarkan dalam bentuk elips.
c. Hubungan : menunjukkan adanya hubungan / relasi diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda
• sebagaimana halnya entiti maka hubunganpun harus dibedakan antara hubungan atau bentuk hubungan antar entiti dengan isi dari hubungan itu sendri
• misalnya dalam kasus hubungan antara entiti siswa dan entiti mata_kuliah adalah mengikuti, sedangkan isi hubungannya dapat berupa nilai_ujian.
• hubungan digambarkan dalam bentuk diamond.
3. Notasi simbolik dalam diagram E-R
• persegi panjang -> himpunan entitas
• elips -> atribut
• belah ketupat -> relation
• garis -> penghubung antara himpunan entitas dan himpunan entitas dengan atributnya
• kardinalitas relasi dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi 1ke1, 1 dan m untuk relasi satu ke banyak, m dan m untuk relasi banyak ke banyak)
4. Jenis" hubungan / derajat relasi / kardinalitas relasi
• kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain
• contoh : entitas" pada himpunan entitas mahasiswa dapat berelasi dengan satu entitas, banyak entitas, atau bahkan tidak berelasi
jenis" hubungan
a. satu ke satu
• setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B dan begitu sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak satu entitas pada himpunan entitas A
b. satu ke banyak
• setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B dan tidak sebaliknya dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak 1 entitas pada himpunan entitas A
c. banyak ke satu
d. banyak ke banyak
• setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B dan sebaliknya dimana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A
5. Tahapan pembuatan Diagram E-R
• Ada dua kelompok pentahapan yang biasa ditempuh dalam pembuatan diagram E-R
a. Tahap awal pembuatan (preliminary design)
• Untuk mendapatkan rancangan basis data minimal yang dapat mengakomodasi kebutuhan penyimpanan data terhadap sistem yang akan dibangun
• Pada umumnya mengabaikan adanya penyimpangan"
b. Tahap optimasi
• Dilakukan koreksi terhadap hasil tehap awal, dengan memperhatikan aspek efisiensi, performansi, dan fleksibilitas
• bentuk" koreksi yang dilakukan :
i. Dekomposisi himpunan entitas
ii. Penggabungan himpunan entitas
iii. Penggabungan derajat relasi
iv. Penambahan relasi baru
v. Penambahan dan pengurangan atribut untuk masing" entitas dan relasi
• Langkah" menyusun diagram E-R
a. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat
b. Menentukan Atribut" kunci dari masing" himpunan entitas
c. mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas yang ada beserta foreign key-nya
d. menentukan derajat relasi (cardinality) untuk setiap himpunan relasi
e. melengkapi himpunan entitas dan himpunan relasi dengan atribut deskriptif (yang bukan kunci)
· contoh : kasus pada perkuliahan
· langkah 1 : mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat
|
|
|
· LANGKAH 2 : Menentukan atribut” kunci dari masing” himpunan entitas
![]() |
· Langkah 3 : Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas yang ada beserta foreign key-nya
·Langkah 4 : menentukan derajat relasi untuk setiap himpunan relasi
·Langkah 5 : melengkapi himpunan entitas dan himpunan relasi dengan atribut deskriptif
Diagram E-R dengan kamus data
Objektif utama dari pembuatan Diagram E-R adalah untuk menunjukkan objek” apa saja yang ingin dilibatkan dalam sebuah basis data dan bagaimana hubungan yang terjadi di antara objek” tersebut.
Pada sebuah sistem yang ruang lingkupnya lebar dan kompleks, penggambaran atribut” dalam sebuah Diagram E-R seringkali malah mengganggu objektif yang ingin dicapai tersebut. Kita dapat memisahkan pendeklarasian atribut” ini dari diagram E-R dan menyatakannya dalam sebuah kamus data.
Kamus data berisi daftar atribut yang diapit kurung kurawal. Atribut yang berfungsi sebagai key dengan menggarisbawahi atribut tersebut.
Karena itu kita diperbolehkan untuk menggambarkan Diagram E-R dengan tambahan Kamus data sebagai berikut:
Kamus Data :
· Mahasiswa = {NIM,nama_mhs, alamat_mhs, tgl,lahir}
· Kuliah = {kode_MK, nama_MK, SKS}
· Dosen = {kode_dosen, nama_dosen, alamat_dosen}
· Mempelajari = {NIM, kode_MK, indeks_nilai}
· Mengajar = {kode_MK, kode_dosen, waktu, tempat}
Ruang Lingkup Penerapan Data Base
1. Data Base Berorientasi Objek
2. Data Base untuk MM
3. Data Base untuk Internet
DATA BASE UNTUK INTERNET
WWW merupakan sistem informasi terdistribusi yang berbasis hypertext. Dokumen” yang menjadi unsur utama dalam Web dapat dinyatakan dalam beberapa tipe. Tipe yang paling popular adalah dokumen hypertext yang disusun menurut bahasa khusus, seperti HTML (HYPERTEXT MARKUP LANGUAGE). Dokumen HTML terdiri atas text, spesifikasi jenis huruf dan instruksi format lainnya.
Di dalamnya juga terdapat link ke dokumen lainnya atau ke halaman lain pada dokumen yang sama. Gambar dan suara juga diakses menggunakan link.
Para pemakai sistem Web akan melihat tampilan teks yang telah diformat bersama dengan gambar, bukannya teks awal bersama sejumlah instruksi pemberian format.
5. Program browser merupakan khusus untuk menterjemahkan instruksi” format terhadap teks dan gambar yang hasilnya kemudian disajikan pada para pemakai. Program” browser yang banyak digunakan saat ini seperti Netscape Navigator, Internet Explorer.
6. Dalam perkembangan selanjutnya, program browser terbaru juga mampu menjalankan bahasa pemrograman khusus seperti java, yang memungkinkan dokumen” berisi program yang dapat dieksekusi di komputer milik pemakai. Dengan begitu, dokumen
UNIVERSAL RESOURCE LOVCATOR
1. Sistem hypertext mengandung konsekuensi tentang adanya penyimpanan pointer ke tempat dokumen” berada. Dalam web, fungsi pointer ini diberikan oleh URL (Universal Resource Locator). Berikut ini adalah sebuah contuh URL : http://fath.com/buku/basis-data
2. Bagian pertama dari URL menunjukkan bagaimana dokumen harus diakses. Potongan ‘http’ menunjukkan bahwa dokumen harus diakses dengan menggunakan HyperText Transfer protocol, yang berupa sebuah protocol untuk pentranferan dokumen HTML. Bagian kedua pada URL menunjukkan nama unik dari sebuah mesin dalam internet. Lalu bagian sisa pada URL merupakan nama path yang menunnjukkan lokasi file pada mesin tersebut.
3. Dengan demikian URL memberikan nama unik secara global untuk setiap dokumen yang dapat diakses oleh sistem web karena url mudah dibaca dan terbuka untuk diakses maka setiap orang dapat menggunakannya secara langsung untuk mengakses dokumen tertentu dengan berpindah” dari dokumen satu ke dokumen lain bahkan dari satu mesin ke mesin lain.
SERVER UNTUK WEB (WEB SERVER)
HTTP menyediakan fasilitas yang bagus, disamping transfer dokumen yang mudah, juga melakukan enkripsi pada dokumen demi alasan keamanan. Bagian nama dokumen dalam URL dapat mengidentifikasi sebuah program executable, yang ketika dijalankan, akan menghasilkan dokumen HTML. Ketika sebuah server HTTP menerima permintaan untuk pengambilan dokumen tertentu, server mengeksekusi program tersebut dan mengirimkan dokumen HTML.
Lebih jauh lagi, client web dapat mengirimkan argumen” tambahan yang akan digunakan program pada saat dieksekusi. Dengan begitu, pembentukan dokumen” dapat menjadi bervariasi karena ditentukan oleh argument” yang disertakan ke server tersebut. Sebagai hasil feature demikian, sebuah Server Web dapat dengan mudah melayani berbagai macam layanan informasi.
BAHASA PENAYANGAN WEB (WEB DISPLAY LANGUAGE)
1. Ada sejumlah bahasa yang dapat digunakan untuk menayangkan isi dokumen pada para pemakai. Berkat bahasa yang digunakan, teks (yang dapat menjadi komponen utama dokumen) akan dapat ditampilkan dengan format, warna dan ukuran tertentu
2. Bahasa untuk me-mark up teks (teks markup language), seperti Standard Generalized Markup Language (SGML), dibangun untuk mengisi kekosongan (bagian kosong) diantara teks polos (teks tanpa format) dan deskripsi halaman perintah” pemformatan teks. Perintah “ pemformatan teks yang disediakan adalah perintah paragraph, penomoran sebuah daftar, juga penentuan jenis” dan ukuran.
3. HTML (hypertext Markup Language) merupakan bahasa penayangan hypertext serba guna, yang merupakan pengembangan lebih lanjut dari SGML. Disamping pemakaian perintah pemformatan teks, dengan HTML kita juga dapat mendefinisikan perintah hypertextlink dan perintah penayangan gambar
4. HTML juga menyediakan fasilitas” penerimaan data masukan yang memungkinkan pemakai mengentrikan data melalui dokumen yang sedang ditayangkan. Menu dan berbagai fasilitas masukan grafis lainnya juga disediakan, sehingga memungkinkan pemakai untuk berinteraksi dengan berbagai cara terhadap sebuah dokumen yang sedang aktif. Jika kemudian semua masukan/interaksi pemakai tersebut dikirimkan kembali dari lokasi pemakai ke Server Web maka semua masukan/interaksi tersebut akan dinyatakan sebagai argument yang selanjutnya digunakan dalam mengeksekusi program di Server Web. Seperti yang telah disebutkan sebelumnya, programini akan menghasilkan dokumen HTML yang kembali dikirimkan pada pemakai.
5. Bahasa java yang dibangun lebih belakangan dibanding HTML, merupakan bahasa penayangan Web yang lebih kaya, karena memungkinkan adanya animasi dengan menjalankan program dilokasi pemakai. Dokumen yang dihasilkan juga dapat diupayakan untuk bersifat aktif. Bahasa java telah ditulis untuk semua platform (kombinasi perangkat keras dan SO) dan praktis semua program dalam bahasa java dapat dieksekusi disemua platform. Sebagai hasil dari keseragaman tersebut, program” java dapat disimpan di mesin server sebagaimana dokumen HTML, yang kemudian dapat didownload dan dieksekusi oleh semua jenis client. Dengan demikian sebenarnya java menyediakan sarana penting untuk mendistribusikan program melalui internet.
ANTAR MUKA WEB DENGAN BASIS DATA
Adanya konektifitas antara web dan basis data yang menjadi pernting karena 2 alasan :
1. Bersamaan dengan tumbuhnya perdagangan elektronis melalui Web, basis data untuk pengolahan transaksi dengan basis data secara tidak langsung melalui serangkaian interaksi dengan dokumen HTML yang kemudian dikirim sebagai argument ke server dan selanjutnya digunakan sebagai parameter oleh program pada server untuk melakukan pengolahan transaksi tertentu pada basis data. Pada giliran berikutnya, hasil pengolahan itu dengan cara sebaliknya dapat dikembalikan dan ditayangkan kepada pemakai.
2. Untuk membentuk konektivitas antara basis data dan Web adalah karena dokumen HTML yang relative tetap memiliki keterbatasan seperti :
· Pemakaian dokumen Web yang tetap tidak memungkinkan penayangannya disesuaikan dengan keinginan pemakai. Misalnya, sebuah perusahaan barangkali ingin menampilkan materi promosi barang yang disesuaikan dengan keinginan pemakai (calon pembeli).
· Ketika data dalam basis data diubah, maka dokumen” Web yang melibatkan data yang sama menjadi kadaluarsa jika tida segera disesuaikan halini akan semakin merepotkan jika dokumen” tersebut juga tersebar disejumlah lokasi.
TIPE” DATA YANG DIDUKUNG OLEH MYSQL
Pemilihan data merupakan suatu hal yang cukup penting dalam mengelola server. Salah satu sebabnya adalah berkaitan dengan ruang di HDD dan memory yang akan digunakan oleh data” tersebut.
· TINYINT[(M)] [UNSIGNED] [ZEROFILL]
Intiger yang sangat kecil jangkauan nilainya, yaitu -128 hingga 127. Jangkauan unsigned adalah 0 hingga 255
· SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
Integer yang kecil jangkauan nilainya, yaitu -32768 hingga 32767. Jangkauan unsigned adalah 0 hingga 65535
· MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
Integer tingkat menengah. Jangkaun nilainya adalah -8388608 hingga 8388607. Jangkauan unsigned adalah 0 hingga 16777215
· INT[(M)] [UNSIGNED] [ZEROFILL]
Integer yang berukuran normal. Jangkauan nilainya adalah -2147483648 hingga 2147483647. Jangkauan unsigned adalah 0 hingga 4294967295
· INTEGER[(M)] [UNSIGNED] [ZEROFILL]
Sama dengan int
· BIGINT[(M)] [UNSIGNED] [ZEROFILL]
Integer berukuran besar. Jangkauan nilainya adalah -9223372036854775808 hingga 9223372036854775807. Jangkauan unsigned adalah 0 hingga 18446744073709551615.s
· FLOAT[(M,D)] [ZEROFILL]
Bilangan floating-point presisi tunggal. Tidak dpat bersifat unsigned. Nilai yang diijinkan adalah -3.402823466E+38 hingga -1.175494351E-38 untuk nilai negatif, 0, and 1.175494351E-38 hingga 3.402823466E+38 untuk nilai positif
· DOUBLE[(M,D)] [ZEROFILL]
Bilangan floating-point presisi ganda. Tidak dapat bersifat unsigned. Nilai yang diijinkan adalah -1.7976931348623157E+308 hingga -2.2250738585072014E-308 untuk nilai negatif, 0, dan 2.2250738585072014E-308 hingga 1.7976931348623157E+308 untuk nilai positif.
· DOUBLE PRECISION[(M,D)] [ZEROFILL] DAN REAL[(M,D)] [ZEROFILL]
Keduanya sama dengan double
· DECIMAL[(M[,D])] [ZEROFILL]
Bilangan floating point yang unpacked. Tidak dapat bersifat unsigned. Memiliki sifat mirip dengan CHAR. Kata unpacked berarti bilangan disimpan sebagai string, menggunakan satu karakter untuk setiap digitnya. Jangkauan nilai dari DECIMAL sama dengan DOUBLE, tetapi juga tergantung dari nilai atribut M dan D yang disertakan. Jika D tidak diisi kan dianggap 0. Jika M tidak diisi akan dianggap 10. Sejak MySQL, 3.22 nilai M harus termasuk ruang yang ditempati oleh angka dibelakang koma dan tanda + atau –
· NUMERIC(M,D) [ZEROFILL]
Sama dengan decimal
· DATE
Sebuah tanggal . MySQL menampilkan tanggal dalam format “YYY-MM-DD”. Jangkauan nilainya adalah “1000-01-01” hingga “9999-12-31”
· DATETIME
Sebuah kombinasi dari waktu dan tanggal. MySQL menampilkan waktu dan tanggal dalam format”YYYY-MM-DD HH:MM:SS”
· TIMESTAMP[(M)]
Sebuah timestamp. Jangkauannya adalah dari 1970-01-01 00:00:00 hingga suatu waktu di tahun 2037. MySQL menampilkan tipe data TIMESTAMP dalam format YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD atau YYMMDD tergantung dari nilai M apakah 14, 12, 8 atau 6.
· TIME
Tipe data waktu jangkauannya dalah -838:59:59 hingga 838:59:59. MySQL menampilkan TIME dalam format HHMMSS
· YEAR[(2|4)]
Angka tahun, dalam format 2-atau 4 digit (default adalah 4–digit). Nilai yag mungkin adalah 1901 hingga 2155, 0000 pada format 4 digit dan 1970-2069 pada format 2 digit (70-69).
· CHAR(M) [BINARY]
String yang memiliki lebar tetap. Nilai M adalah lebih dari 1 hingga 255 karakter. Jika ada sisa maka sisa tersebut disisi dengan spasi misalnya nilai M adalah 10 tapi data yang disimpan hanya memiliki 7 karakter maka 3 karakter sisanya diisi dengan spasi). Spasi ini akan dihilangkan apabila data dipanggil. Nilai dari CHAR akan disortir dan diperbandingkan secara case-insensitive menurut default carakter set yang tersedia, kecuali bila atribut BINARY disertakan
· VARCHAR(M) [BINARY]
String dengan lebar berfariasi. Nilai M adalah 1 hingga 255 karakter. Jika nilai M adalah 10 sedangkan data yang sisimpan hanya terdiri dari 5 karakter, maka lebar data tersebut hanya 5 karakter saja, tidak ada tambahan spasi.
· TINYBLOB dan TINYTEXT
Sebuah BLOB (semacam catatan) atau TEXT dengan lebar maksimum 255 (2^8-1) karakter.
· BLOB dan TEXT
Sebuah BLOB atau TEXT dengan lebar maksimum 65535 (2^16-1) karakter.
· MEDIUMBLOB dan MEDIUMTEXT
Sebuah BLOB atau TEXT dengan lebar maksimum 4294967295 (2^32-1) karakter.
· ENUM (value 1, value 2,....)
Sebuah enumerasi yaitu objek string yang hanya dapat memiliki sebuah nilai dipilih dari daftar nilai value 1, value 2,... NULL atau nilai special”” error. Sebuah ENUM maksimum dapat memiliki 65535 jenis nilai.
· SET(value 1, value 2..)
Sebuat SET yaitu objek string yang dapat memiliki 0 nilai atau lebih, yang harus dipilih dari daftar nilai ‘value 1’, ‘value 2’... sebuah SET maksimum dapat memiliki 64 anggota.
No comments:
Post a Comment