PROSES ENTITY RELATIONSHIP (ER

)
 Materi:
• • • • • • • • Konsep Proses Entity Relationship Properti relasi Dekomposisi hubungan banyak ke banyak Perangkap relasi Model skeleton entity relationship Pemasangan attribut Desain tingkat pertama Desain tingkat dua

Albertus Deliar/2006 - Proses Entity Relationship

1

KONSEP ENTITY RELATIONSHIP
Entitas 1 Entitas 2 Entitas 3 Entitas … Entitas n

Proses Entity Relationship Pemasangan Attribut
Tabel Normal Penuh

Tabel 1

Tabel 2

Tabel …

Tabel n

Proses Normalisasi Attribut 1 Attribut 2 Attribut 3 Attribut … Attribut n

Albertus Deliar/2006 - Proses Entity Relationship

2

MODEL ENTITY RELATIONSHIP
 Entity/ Entitas  Attribut : a thing (object, concept) : a property of an entity

 Relationship

: an association between two (or more) entities

Entitas kendaraan darat !!!

Propertinya ???

Albertus Deliar/2006 - Proses Entity Relationship

3

• Entitas Mahasiswa memiliki ID Entitas NIM • Entitas Dosen memiliki ID Entitas NIP Diskusi: Apa perbedaan ID entitas dan ID tabel? Albertus Deliar/2006 .  Entitas dapat direpresentasikan sebagai tabel dengan: • Nama entitas = nama tabel • Karakteristik entitas = attribut tabel (kolom) • Anggota entitas = baris/record  Untuk membedakan anggota entitas diperlukan suatu ‘kode’ yang disebut sebagai ID Entitas.ENTITAS  Setiap entitas memiliki anggota entitas.Proses Entity Relationship 4 .

Proses Entity Relationship 5 .CONTOH MODEL ER Entitas komputer & Propertinya?? Entitas harddisk & Propertinya?? Hubungan keduanya ?? Albertus Deliar/2006 .

… SIMPAN BARANG B4 Printer B2 Scanner B5 Plotter B3 Harddisk GUDANG G1 Jakarta G2 Bandung Albertus Deliar/2006 .Proses Entity Relationship 6 . G2 Bandung. P2 Printer.JENIS ENTITAS & PEMUNCULANNYA  Entitas  Relasi : Gudang. Produk : menyimpan  Attribut : G1 Jakarta.

dituliskan juga derajat dan kelas keanggotaan (dibahas kemudian) GUDANG SIMPAN BARANG Relasi Albertus Deliar/2006 .DIAGRAM ENTITY RELATIONSHIP (ER)  Menggambarkan hubungan semua entitas.Proses Entity Relationship 7 .  Dalam diagram.

GUDANG G1 G2 SIMPAN BARANG B4 B2 B3 Albertus Deliar/2006 . Dalam menggambarkan diagram pemunculannya.DERAJAT HUBUNGAN/RELASI  Menunjukkan hubungan antar anggota dari suatu entitas terhadap anggota dari entitas lainnya.  Secara mudah dapat diketahui melalui diagram pemunculannya.  Derajat hubungan ditentukan dari enterprise rules.Proses Entity Relationship 8 . anggota entitas cukup diwakili oleh ID entitas saja.

• Satu mata-kuliah secara pasti diajar oleh satu dosen.Proses Entity Relationship 9 . • Satu mata-kuliah (hampir selalu) diajar oleh satu dosen.DERAJAT 1:1  Enterprise Rules : • Seorang dosen (hampir selalu) mengajar satu matakuliah. Albertus Deliar/2006 . DOSEN 130 000 001 130 000 002 130 000 003 130 000 004 AJAR KULIAH GD3132 GD4444 GD4491 GD1111 Diskusi: Bagaimana bentuk diagram pemunculan untuk E-Rules: • Seorang dosen secara pasti mengajar satu mata-kuliah.

DERAJAT 1:BANYAK / BANYAK:1  Enterprise Rules : • Seorang dosen kemungkinan mengajar banyak matakuliah. • Satu mata-kuliah secara pasti diajar oleh satu dosen. • Satu mata-kuliah (hampir selalu) diajar oleh satu dosen.Proses Entity Relationship 10 . Albertus Deliar/2006 . DOSEN 130 000 001 130 000 002 130 000 003 130 000 004 AJAR KULIAH GD3132 GD4444 GD4491 GD1111 GD1112 Diskusi: Bagaimana bentuk diagram pemunculan untuk E-Rules: • Seorang dosen diharuskan mengajar lebih dari satu mata-kuliah.

DOSEN 130 000 001 130 000 002 130 000 003 130 000 004 AJAR KULIAH GD3132 GD4444 GD4491 GD1111 GD1112 Albertus Deliar/2006 .Proses Entity Relationship 11 .DERAJAT BANYAK:BANYAK  Enterprise Rules : • Seorang dosen kemungkinan mengajar banyak matakuliah. • Satu mata-kuliah kemungkinan diajar oleh banyak dosen.

Proses Entity Relationship 12 . DOSEN 1 AJAR 1 KULIAH 1:1 DOSEN 1 AJAR n KULIAH 1:n DOSEN m AJAR n KULIAH m:n Albertus Deliar/2006 .DIAGRAM ER & DERAJAT RELASI  Derajat relasi digambarkan dalam diagram ER.

Proses Entity Relationship 13 . • NON-OBLIGATORY / NON_OBL : Jika tidak semua anggota entitas secara pasti berhubungan dengan anggota entitas lainnya. Albertus Deliar/2006 .  Kelas keanggotaan: • OBLIGATORY / OBL (wajib): Jika semua anggota entitas secara pasti berhubungan dengan anggota entitas lainnya.KELAS KEANGGOTAAN  Menunjukkan apakah semua anggota entitas memiliki hubungan dengan anggota entitas lagi secara pasti atau tidak.

Proses Entity Relationship 14 . Departemen kerja Karyawan  Anggota kedua entitas tersebut secara pasti berhubungan sehingga keduanya memiliki kelas obligatory Albertus Deliar/2006 . • Seorang Karyawan harus dipekerjakan paling tidak oleh satu Departemen.CONTOH OBL/OBL  Enterprise rules: • Satu Departemen harus mempekerjakan paling tidak satu Karyawan.

Departemen kerja Karyawan  Anggota kedua entitas tersebut tidak selalu memiliki hubungan satu sama lain sehingga keduanya memiliki kelas non-obligatory Albertus Deliar/2006 . • Seorang Karyawan tidak perlu dipekerjakan oleh Departemen manapun.Proses Entity Relationship 15 .CONTOH NON_OBL-NON_OBL  Enterprise rules: • Satu Departemen tidak perlu mempekerjakan seorang Karyawan-pun.

• Seorang Karyawan harus dipekerjakan paling tidak oleh satu Departemen. Departemen kerja Karyawan  Anggota entitas Departemen tidak selalu memiliki hubungan dengan anggota entitas Karyawan sehingga memiliki kelas non-obligatory.CONTOH OBL-NON_OBL  Enterprise rules: • Satu Departemen tidak perlu mempekerjakan seorang Karyawan-pun.Proses Entity Relationship 16 .  Sebaliknya untuk entitas Karyawan sehingga berkelas obligatory Albertus Deliar/2006 .

Albertus Deliar/2006 . dapat direpresentasikan dalam bentuk tabel normal penuh. tetapi tidak menunjukkan atribut-attribut yang berhubungan dengan entitas dan jenis hubungannya (relationship). tentang keterkaitan attribut-attribut.TABEL SKELETON (KERANGKA) ER  Diagram E-R digunakan untuk menggambarkan berbagai unsur penting dari model konseptual.Proses Entity Relationship 17 .  Informasi tambahan tersebut.  Representasi jenis tabel untuk setiap entitas dan jenis relasinya yang berupa tabel normal penuh (belum berisi attribut lainnya) disebut tabel skeleton ER.

REPRESENTASI HUBUNGAN 1:1  Ada ketentuan tentang dosen dan mata kuliah: • Seorang dosen maksimal dapat mengajar satu matakuliah.  Setiap dosen dapat diidentifikasi melalui NIP.  Setiap mata kuliah dapat diidentifikasi dengan Kode_MK  Kondisi ini menggambarkan derajat relasi 1:1.Proses Entity Relationship 18 . …) Albertus Deliar/2006 . • Satu mata-kuliah maksimal dapat diajar oleh satu dosen. …) • Entitas Kuliah (Kode_MK.  Representasi entitas dalam bentuk tabel: • Entitas Dosen (NIP.

• Satu mata-kuliah selalu diajar oleh satu dosen.DERAJAT 1:1 / KELAS OBL-OBL  Enterprise rules: • Seorang dosen selalu mengajar satu mata-kuliah. DOSEN 130 000 001 130 000 002 130 000 003 130 000 004 AJAR KULIAH GD3333 GD4444 GD2222 GD1111 DOSEN 1 AJAR 1 KULIAH Albertus Deliar/2006 .Proses Entity Relationship 19 .

…) Albertus Deliar/2006 .TABEL SKELETON 1:1/OBL-OBL  Karena keduanya obligatory maka kedua entitas tersebut dapat digabungkan membentuk 1 tabel normal penuh. Dengan kata lain. Kode_MK. ….Proses Entity Relationship 20 .  Terbentuk 1 tabel: • Tabel Dosen_Kuliah (NIP. attribut entitas Dosen dapat dipasangkan (posted) ke dalam attribut entitas Kuliah. atau sebaliknya.

DERAJAT 1:1 / KELAS OBL-NON_OBL  Enterprise rules: • Seorang dosen dapat mengajar satu mata-kuliah atau tidak.Proses Entity Relationship 21 . • Satu mata-kuliah selalu diajar oleh satu dosen. DOSEN 130 000 001 130 000 002 130 000 003 130 000 004 130 000 005 AJAR KULIAH GD3333 GD4444 GD2222 GD1111 DOSEN 1 AJAR 1 KULIAH Albertus Deliar/2006 .

Proses Entity Relationship 22 .  Terbentuk 2 tabel: • Tabel Dosen (NIP.TABEL SKELETON 1:1/OBL-NON_OBL  ID entitas non-obligatory harus dipasangkan ke entitas Artinya. …. ID entitas Dosen dipasangkan (posted) ke dalam entitas Kuliah. …) • Tabel Kuliah (Kode_MK. NIP) Albertus Deliar/2006 .

Proses Entity Relationship 23 . • Satu mata-kuliah tidak selalu diajar oleh dosen. DOSEN 130 000 001 130 000 002 130 000 003 130 000 004 130 000 005 AJAR KULIAH GD3333 GD4444 GD2222 GD1111 GD5555 DOSEN 1 AJAR 1 KULIAH Albertus Deliar/2006 .DERAJAT 1:1 / KELAS NON_OBL-NON_OBL  Enterprise rules: • Seorang dosen dapat mengajar satu mata-kuliah atau tidak.

TABEL SKELETON 1:1/NON_OBL-NON_OBL  ID entitas non-obligatory harus membentuk satu tabel penghubung. ID entitas Dosen dan ID entitas Kuliah dipasangkan (posted) ke tabel baru. Artinya. …) • Tabel Dosen_Kuliah (NIP. Kode_MK) • Tabel Kuliah (Kode_MK. …) Albertus Deliar/2006 .Proses Entity Relationship 24 .  Terbentuk 3 tabel: • Tabel Dosen (NIP.

 Setiap mata kuliah dapat diidentifikasi dengan Kode_MK  Kondisi Dosen:Kuliah menggambarkan derajat relasi 1:n.  Representasi entitas dalam bentuk tabel: • Entitas Dosen (NIP.REPRESENTASI HUBUNGAN 1:n  Ada ketentuan tentang dosen dan mata kuliah: • Seorang dosen dapat mengajar lebih dari satu matakuliah. …) Albertus Deliar/2006 .  Setiap dosen dapat diidentifikasi melalui NIP. …) • Entitas Kuliah (Kode_MK. • Satu mata-kuliah maksimal dapat diajar oleh satu dosen.Proses Entity Relationship 25 .

DOSEN 130 000 001 130 000 002 130 000 003 AJAR KULIAH GD3333 GD4444 GD2222 GD1111 DOSEN 1 AJAR n KULIAH Albertus Deliar/2006 . • Satu mata-kuliah selalu diajar oleh satu dosen.DERAJAT 1:n / KELAS OBL-OBL  Enterprise rules: • Seorang dosen selalu mengajar satu atau lebih matakuliah.Proses Entity Relationship 26 .

Proses Entity Relationship 27 . NIP) Albertus Deliar/2006 . …) • Tabel Kuliah (Kode_MK.TABEL SKELETON 1:n/OBL-OBL  Keduanya obligatory namun berelasi 1:n maka ID entitas [1] dipasangkan ke entitas [n]. …. Artinya NIP dipasangkan (posted) ke entitas Kuliah  Terbentuk 2 tabel: • Tabel Dosen (NIP.

DERAJAT 1:n / KELAS OBL-NON_OBL  Enterprise rules: • Seorang dosen selalu mengajar satu atau lebih matakuliah. DOSEN 130 000 001 130 000 002 130 000 003 AJAR KULIAH GD3333 GD4444 GD2222 GD1111 GD5555 n DOSEN 1 AJAR KULIAH Albertus Deliar/2006 .Proses Entity Relationship 28 . • Satu mata-kuliah dapat atau tidak diajar oleh satu dosen.

TABEL SKELETON 1:n/OBL-NON_OBL  Karena derajat hubungannya 1:n dan tabel ‘banyak’ (many) berkelas non-obligatory maka perlu dibentuk tabel penghubung.Proses Entity Relationship 29 .  Terbentuk 3 tabel: • Tabel Dosen (NIP. …) • Tabel Dosen-Kuliah (NIP. …) Albertus Deliar/2006 . Kode_MK) • Tabel Kuliah (Kode_MK.

DOSEN 130 000 001 130 000 002 130 000 003 130 000 004 AJAR KULIAH GD3333 GD4444 GD2222 GD1111 DOSEN 1 AJAR n KULIAH Albertus Deliar/2006 .DERAJAT 1:n / KELAS NON_OBL-OBL  Enterprise rules: • Seorang dosen dapat mengajar satu atau lebih matakuliah atau tidak • Satu mata-kuliah selalu diajar oleh dosen.Proses Entity Relationship 30 .

 Terbentuk 2 tabel: • Tabel Dosen (NIP.Proses Entity Relationship 31 .TABEL SKELETON 1:n/NON_OBL-OBL  karena derajat hubungannya 1:n dan tabel ‘1’ (one) berkelas non-obligatory maka ID tabel ‘1’ dipasangkan ke tabel ‘banyak’. NIP) Albertus Deliar/2006 . …) • Tabel Kuliah (Kode_MK. ….

• Satu mata-kuliah dapat diajar oleh satu atau lebih dosen.Proses Entity Relationship 32 .DERAJAT 1:n / KELAS NON-NON  Enterprise rules: • Seorang dosen dapat mengajar satu atau lebih matakuliah. DOSEN 130 000 001 130 000 002 130 000 003 130 000 004 AJAR KULIAH GD3333 GD4444 GD2222 GD1111 GD5555 n DOSEN 1 AJAR KULIAH Albertus Deliar/2006 .

Kode_MK) • Tabel Kuliah (Kode_MK.  Terbentuk 3 tabel: • Tabel Dosen (NIP.Proses Entity Relationship 33 . …) Albertus Deliar/2006 .TABEL SKELETON 1:n/NON-NON  Karena jeduanya berkelas non-obligatory maka perlu dibentuk tabel penghubung. …) • Tabel Dosen-Kuliah (NIP.

dimana satu tabel merupakan tabel penghubung yang berisikan attribut identifier dari kedua tabel lainnya.  Jika ada ketentuan tentang dosen dan mata kuliah: • Seorang dosen dapat mengajar lebih dari satu matakuliah.Proses Entity Relationship 34 . • Setiap dosen dapat diidentifikasi melalui NIP.REPRESENTASI HUBUNGAN m:n  Untuk jenis hubungan ‘many to many’ ini tidak perlu memperhatikan kelas keanggotaan.  Untuk menghubungkan dua entitas selalu diperoleh tiga tabel. • Satu mata-kuliah dapat diajar oleh lebih satu dosen. • Setiap mata kuliah dapat diidentifikasi dengan Kode_MK Albertus Deliar/2006 .

• Satu mata-kuliah dapat diajar oleh satu atau lebih dosen.Proses Entity Relationship 35 . DOSEN 130 000 001 130 000 002 130 000 003 130 000 004 AJAR KULIAH GD3333 GD4444 GD2222 GD1111 GD5555 n DOSEN m AJAR KULIAH Albertus Deliar/2006 .DERAJAT m:n  Enterprise rules: • Seorang dosen dapat mengajar satu atau lebih matakuliah.

TABEL SKELETON m:n  Karena jeduanya berderajat banyak-banyak maka perlu dibentuk tabel penghubung. …) • Tabel Dosen-Kuliah (NIP. …) Albertus Deliar/2006 . Kode_MK) • Tabel Kuliah (Kode_MK.  Terbentuk 3 tabel: • Tabel Dosen (NIP.Proses Entity Relationship 36 .

DOSEN 1 m AJAR n n KULIAH 1 DOSEN Dosen_Kuliah n KULIAH 37 Albertus Deliar/2006 .  Hal ini dikarenakan adanya beberapa SMBD yang tidak mampu menangani relasi m:n. maka dekomposisi tersebut secara pasti dilakukan. karena hubungan m:n akan membentuk 3 tabel.  Jika dilakukan proses entity relationship.Proses Entity Relationship .DEKOMPOSISI BANYAK-BANYAK  Merupakan pemisahan relasi m:n menjadi dua relasi 1:n.

mengapa tidak 2 tabel? Berikan alasan dan juga ilustrasinya. Albertus Deliar/2006 .Proses Entity Relationship 38 . Contoh. dan harus berupa narasi serta di tulis tangan. pada derajat 1:1 dan kelas non_obl-non_obl harus terbentu 3 tabel.  Review ini tidak boleh sama dengan bahan transparansi yang ada.  Berikan juga alasan mengapa tabel yang terbentuk harus demikian.  Dikumpulkan pada kuliah berikutnya.TUGAS  Buatlah review tentang proses pembentukan tabel skeleton ER untuk semua kombinasi derajat dan kelas. baik tulisan maupun contoh.

Makanan adalah yang dimakan penjaga. 6. 4. Hewan diberi makan penjaga. Hewan menyukai makanan. 2. apakah interpretasi yang dapat diberikan (pilih) : 1.  Perangkap ini biasanya muncul akibat salah interpretasi dalam mengartikan relasi (relationship). Dari gambar diatas. 3. 5. Makanan yang diawasi oleh penjaga.Proses Entity Relationship 39 .PERANGKAP RELASI  Merupakan perangkap yang adakalanya dijumpai oleh perancang & pemakai model konseptual yang harus dihilangkan. Makanan adalah yang dimakan hewan. Penjaga mengawasi hewan. Albertus Deliar/2006 .

 Sebagai contoh : • Dari gambar (a) dibentuk hubungan Departemen ke Pekerja melalui Divisi yang sangat mungkin dalam menyimpulkan pekerja mana dimiliki oleh departemen mana. 1 Termasuk dept Divisi 1 Termasuk pek n Departeme n n Pekerja (a) Diskusi: Apa enterprise yang dapat diambil dari diagram diatas? Albertus Deliar/2006 .PERANGKAP KIPAS (FAN TRAP)  Sering muncul pada bentuk relasi n:1-1:n.Proses Entity Relationship 40 .

HASIL INTERPRETASI • Dari gambar b memperlihatkan kesimpulan tersebut tidak dapat terjadi karena tidak ada cara untuk mengetahui pekerja 1.Proses Entity Relationship 41 . • Hal yang mungkin terpikirkan ialah pekerja dimiliki oleh divisi tetapi bukan departemen. DEPARTEMEN A B C D 2 1 Termasuk dept DIVISI Termasuk pek PEKERJA P1 P2 P3 P4 (b) P5 Diskusi: Bagaimana diagram yang seharusnya dari hasil interpretasi? Albertus Deliar/2006 . 2. 3 dimiliki oleh departemen 1 atau 2.

Proses Entity Relationship 42 . Albertus Deliar/2006 .INTERPRETASI DAN DIAGRAM  Struktur ini mengeliminir ketidakjelasan tentang pekerja mana dimiliki departemen mana sehingga tidak ada keraguan untuk mengetahui pekerja mana milik divisi mana Departeme n 1 1 n Divisi Termasuk dept Termasuk pek n Pekerja (c)  Pemahaman tentang enterprise yang ada harus benar-benar dimengerti agar tidak salah dalam menginterpretasikannya ke bentuk struktur relasi.

 jenis tabel entitas atau jenis tabel relationship ialah berupa suatu tabel.Proses Entity Relationship 43 .DEFINISI  tabel skeleton ialah suatu jenis tabel dimana berisikan hanya identifier (entitas atau penghubungnya)–nya bersama-sama dengan identifier yang dipasangkan (posted). Albertus Deliar/2006 .  model E-R (skeleton) ialah kombinasi dari diagram E-R dan tabel skeleton.

 Buatlah model kerangka ER secara lengkap. memiliki jadwal pertemuan konsultasi dengan dokter. Albertus Deliar/2006 .  Attribut yang diperlukan dapat ditambahkan sesuai kebutuhan.QUIZ (30’)  Pasien. yang diidentifikasikan dengan no_dokter. Rekaman pertemuan setiap harinya antar pasien dan dokter akan disimpan. Setiap pasien dapat saja bertemu lebih dari satu kali dengan dokter yang sama dalam beberapa hari.Proses Entity Relationship 44 . yang diidentifikasikan dengan pasien#.

Proses Entity Relationship 45 .PERANCANGAN BASIS DATA  Materi: • Desain Tingkat 1 (1st level design) Albertus Deliar/2006 .

1ST LEVEL DESIGN  Digunakan karena rancangan akan dibutuhkan untuk pekerjaan selanjutnya dalam mentransformasikan desain ke implementasi akhir. yaitu kepemilikan data yang dibutuhkan untuk analisis. • Analisis fungsional. Albertus Deliar/2006 .  Mencakup : • Analisis data.Perancangan Basis Data 46 . yaitu bentuk transaksi yang akan dioperasikan.

batas itu tergantung klasifikasi status peminjam yaitu sebagai junior atau senior. Perpustakaan menyediakan buku-buku versi terakhir saja. Terdapat suatu batasan jumlah buku yang dapat diperoleh setiap kali pinjam. pengarang. tgl. penerbit.Perancangan Basis Data 47 . Buku-buku yang keluar dapat dipesan bagi peminjam lainnya tergantung waktu pengembalian. Jika versi terbaru muncul maka versi yang lama akan disingkirkan. ISBN (International Standard Book Number).CONTOH SKENARIO PERPUSTAKAAN Suatu perpustakaan menyimpan data peminjam buku. terbit. Albertus Deliar/2006 . Informasi yang diperlukan untuk buku-buku itu ialah judul. Setiap peminjam buku diidentifikasikan dengan PEMINJAM# dan setiap buku oleh BUKU# (setiap judul buku memiliki persediaan lebih dari satu buku). harga beli dan harga aktual (saat ini). Nama dan alamat dari setiap peminjam ditangani juga untuk memudahkan komunikasi seperti mengingatkan batas waktu peminjaman.

Albertus Deliar/2006 . • Diagram ini digambarkan secara sederhana untuk membantu pemikiran awal tentang data yang dibutuhkan. atau • Gambarkan secara singkat (sketsa) permasalahan.Perancangan Basis Data 48 .LANGKAH 1 Sketsalah permasalahan dengan diagram E-R secara bebas.

Memperbaharui harga saat ini (harga aktual).LANGKAH 2 Persiapkan suatu daftar awal transaksi dimana model data harus dapat mendukungnya. j. e. Merekam pengembalian peminjaman.Perancangan Basis Data 49 . Menghapus peminjam. Menyimpan detail dari peminjam baru. daripada menuliskan proses attribut secara detail) : a. Menghapus pemesanan. i. Menghapus pembelian. Albertus Deliar/2006 . h. • Menyusun suatu daftar transaksi (tujuan setiap transaksi dinyatakan. Mengirimkan pesan yang lewat batas waktu peminjaman. Memesan buku. Menyimpan detail dari pembelian baru. g. c. f. Membuat peminjaman. b. d.

tgl_pinjam. batas_pinjam. tgl_pesan.LANGKAH 3 Persiapkan suatu daftar awal atribut.Perancangan Basis Data 50 . nama_peminjam. alamat_peminjam. penerbit. buku#. Albertus Deliar/2006 . tgl_terbit. ISBN. harga_aktual. status_peminjam. • Beberapa attribut disini dapat berupa gabungan. seperti nama_peminjam dapat menjadi nama_keluarga dan panggilan. harga_beli. pengarang. • Menyusun suatu daftar attribut : peminjam#. judul.

…) − Buku (buku#.Perancangan Basis Data 51 .LANGKAH 4 Tuliskan suatu daftar awal jenis entitas yang dapat diidentifikasikan langsung dan pilihlah identifier entitasnya. • Entitas yang mungkin lainnya dapat diseleksi pada tahapan ini. • Tabel entitas yang dibentuk ialah : − Peminjam (peminjam#. • Berdasarkan skenario. identifier PEMINJAM# dan BUKU# dapat menunjukkan entitas yang mungkin dipilih yaitu Peminjam dan Buku. …) Albertus Deliar/2006 . tetapi untuk sementara waktu digunakan dua entitas saja. Untuk setiap jenis entitas. tuliskan suatu tabel hanya dengan identifiernya.

LANGKAH 5a Gambarkan suatu diagram E-R yang menunjukkan relasi (relationship) antara semua jenis entitas. • Sebuah buku tidak selalu dipinjam atau peminjam tidak selalu meminjam buku. • Diagram E-R ialah : Albertus Deliar/2006 .Perancangan Basis Data 52 . termasuk tingkat dan kelasnya secara detail. • Seorang peminjam dapat meminjam langsung beberapa buku tetapi sebuah buku tidak dapat dipinjam langsung oleh beberapa peminjam.

LANGKAH 5b (a) Peminjam 1 Pinjam n n (b) Peminjam m 1 Buku Judul Pesan Pinjam n 1 n Buku Judul 1 Sedia Pinjam n 1 n Buku 1 53 (c) Peminjam m 1 Pesan Albertus Deliar/2006 .Perancangan Basis Data .

LANGKAH 6a Buatlah suatu pemeriksaan awal dimana diagram E-R akan mendukung transaksi-transaksi. Albertus Deliar/2006 . Meskipun atribut-attribut belum dialokasikan ke entitas dan relasinya. secara terperinci akan diberikan pada langkah 11).Perancangan Basis Data 54 . dan perbaikilah diagram jika perlu. b. Lihat juga perangkap yang dapat terjadi. • Transaksi a. dan peminjaman (transaksi c dan d) dapat diproses melalui relasi Pinjam (kenyataannya pemrosesan tidaklah sesederhana ini. hal ini tetap mungkin untuk memperoleh ide dimana transaksi dapat didukung pada tingkat entitas/relasinya. e dan f muncul menjadi penyedia bagi pembuatan dan penghapusan kejadian pada Peminjam dan Buku.

Pada pemunculan pertama. Jika terdapat beberapa buku untuk satu judul maka tidak menjadi masalah buku mana yang akan diberikan.Perancangan Basis Data 55 . solusinya ialah dengan menambahkan relasi Pesan antara Peminjam dan Buku. maka transaksi i dapat ditangani. suatu model berdasarkan Gb. a. Pinjam dan Peminjam.LANGKAH 6b • Harga aktual mungkin menjadi attribut dari Buku. Albertus Deliar/2006 . Informasi yang dibutuhkan untuk pesan lewat batas waktu peminjaman (transaksi j) dapat ditemukan melalui Buku. • Permasalahan yang tertinggal ialah untuk pemesanan (transaksi g dan h). dapat berisikan suatu repeating groups. tetapi ini tidak cukup karena seorang peminjam tidaklah memesan buku melainkan judul. Seorang peminjam dapat meminta beberapa pesanan dan buku yang sama dapat dipesan oleh beberapa peminjam.

Perancangan Basis Data 56 . Diasumsikan bahwa Judul dapat diidentifikasikan dengan ISBN. tetapi ini membuat sebuah perangkap hubungan antara Buku dan Judul. Albertus Deliar/2006 . b). Bukanlah judul yang dipinjamkan melainkan buku. maka perangkap hubungan ini harus dieliminir. • Pada saat buku dikembalikan peminjam. maka sangat penting untuk memeriksa apakah seseorang telah memesan judul dari buku tersebut. c). Hal ini dapat diselesaikan dengan menghubungkan Judul ke Buku melalui relasi Sedia (Gb.LANGKAH 6c • Kekeliruan diagram E-R ini untuk mendukung transaksi pemesanan memberi arti suatu kebingungan yang mendasar pada skenario dalam membedakan buku dan judul. Diagram dapat diperbaiki dengan memperkenalkan entitas Judul dan relasi Pesan (Gb.

Perancangan Basis Data 57 . …) • Tabel relasi − Pinjam (buku#. …) • Relasi Pesan direpresentasikan dengan memasangkan (posted) ISBN ke Buku.LANGKAH 7 Mengembangkan tabel entitas (langkah 4) ke tabel skeleton dengan memperhatikan diagram E-R. ISBN. Albertus Deliar/2006 . peminjam#. Tabel kerangka ialah : • Tabel entitas − Peminjam (peminjam#. …) − Judul (ISBN. Hapus semua attribut yang dipakai sebagai identifier tabel skeleton dari daftar attribut. ISBN. …) − Pesan (peminjam#. …) − Buku (buku#.

LANGKAH 8a
Tambahkan attribut selanjutnya dari daftar attribut ke tabel dengan memperhatikan syarat suatu tabel. Hapuslah attribut dari daftar attribut untuk setiap attribut yang dipasangkan ke tabel.
Penyerahan attribut : •Peminjam (peminjam#, nama_peminjam, alamat_peminjam) •Buku (buku#, ISBN, harga_beli) •Judul (ISBN, judul, tgl_terbit, harga_aktual) •Pinjam (buku#, peminjam#, tgl_pinjam) •Pesan (peminjam#, ISBN, tgl_pesan) Berlawanan dengan asumsi pada langkah 6, harga_aktual bukanlah attribut untuk Buku.
Albertus Deliar/2006 - Perancangan Basis Data 58

LANGKAH 8b
• Catatan, jika batas_pinjam dinyatakan sebelum status_peminjam maka akan diletakkan ke dalam Peminjam tetapi berikutnya akan ditarik kembali mengikuti usaha pernyataan status_peminjam karena kondisi akhir akan menjadi penentu batas_pinjam tetapi tidak merupakan kandidat identifier dari Peminjam. • Untuk alasan yang sama, kedua attribut ini akan juga dikembalikan ke daftar attribut jika status_peminjam berada dengan batas_pinjam. • Asumsikan bahwa hanya ada satu penerbit yang disimpan di setiap judul, ini akan mengundang peletakkan penerbit ke tabel Judul.

Albertus Deliar/2006 - Perancangan Basis Data

59

LANGKAH 8c
• Kebingungan dengan ISBN adalah kode_penerbit dimana akan menjadi penentu dari penerbit tetapi bukan kandidat identifier dari Judul. • Tabel Buku tidak menyediakan suatu tempat yang nyaman walaupun BUKU# adalah determinan dari penerbit karena nilai penerbit dapat redundant jika terdapat beberapa buku dari judul yang sama. • Penerbit harus tetap pada daftar attribut untuk semetara waktu.

Albertus Deliar/2006 - Perancangan Basis Data

60

Albertus Deliar/2006 . • Attribut yang belum dipasangkan ialah nama pengarang. • Pengarang tidak diletakkan ke Judul karena akan menimbulkan repeating group. batas_pinjam dan penerbit. status_peminjam. Jika tidak diperlukan untuk menyimpan berbagai attribut pengarang lainnya selain nama pengarang tersebut maka cukup untuk memperkenalkan Pengarang sebagai sub-entitas dari Judul. Adakalanya hal tersebut tidak/sukar dilakukan maka ulangilah dari langkah 5.LANGKAH 9a Jika terdapat attribut dari daftar attribut yang tidak dapat dipasangkan ke dalam tabel maka perlu dibentuk entitas atau relasi baru yang dapat mengakomodasikannya (perluasan model kerangka).Perancangan Basis Data 61 .

peminjam#. diperlukan.LANGKAH 9b • Untuk alasan yang diberikan pada langkah 8. tgl_terbit. status_peminjam) − Buku (buku#. alamat_peminjam. attribut status_peminjam dan batas_pinjam tidak dapat keduanya diletakkan pada Peminjam. nama_peminjam. • Penerbit dapat dipasangkan dengan membentuk entitas baru yaitu Terbitan yang diidentifikasi dengan kode_penerbit. tgl_pesan) Albertus Deliar/2006 . Limit. harga_beli) − Judul (ISBN. Entitas ini dihubungkan ke Judul melalui relasi Terbit. pengarang) − Terbitan (kode_penerbit. − Peminjam (peminjam#. ISBN. harga_aktual) − Limit (status_peminjam. ISBN. Suatu entitas baru. tgl_pinjam) − Pesan (peminjam#.Perancangan Basis Data 62 . batas_pinjam) − Pengarang (ISBN. penerbit) − Pinjam (buku#. judul.

LANGKAH 9c Limit 1 n Atur n Peminjam 1 Pinjam n m Pesan n Judul 1 Sedia n 1 Buku n Pengaran g 1 Tulis Terbit 1 Terbita n Albertus Deliar/2006 .Perancangan Basis Data 63 .

Perubahan status peminjam 5. Menemukan buku dari seorang pengarang Albertus Deliar/2006 .LANGKAH 10 Putuskanlah jika terdapat attribut atau transaksi lainnya yang harus dimasukkan ke dalam model atau akan dikembangkan di kemudian hari. Transaksi lainnya yang termasuk untuk dipertimbangkan ialah : 1. Jika ada. Penghapusan buku 3. Penyimpanan detail dari buku baru 2. Pemberitahuan peminjam bahwa pemesanan saat ini dalam persediaan 4.Perancangan Basis Data 64 . masukkan ke daftar attribut dan transaksi serta ulangi ke langkah 6 untuk transaksi baru dan langkah 8 untuk attribut baru.

Periksalah bahwa tabel telah normal penuh.LANGKAH 11a Periksalah bahwa entitas yang dipilih. Jika diperlukan perubahan.Perancangan Basis Data 65 . Periksalah bahwa semua transaksi dapat didukung pada tingkat attribut. Pemeriksaan semua transaksi dapat dilakukan dengan cara sebagai berikut : Albertus Deliar/2006 . ulangi prosedur. relasinya dan attribut tetap terlihat terpasang.

LANGKAH 11b  D – delete (penghapusan)  R – retrieve (pengambilan)  S – store (penyimpanan)  U – update (pembaharuan) Albertus Deliar/2006 .Perancangan Basis Data 66 .

yang diidentifikasikan dengan pengarang. • Jika Pengarang.Perancangan Basis Data 67 . Albertus Deliar/2006 .LANGKAH 12 Hapus semua entitas yang superfluous. jika hanya berisikan nama pengarang saja. • Setiap tabel entitas berisikan setidaknya satu attribut sebagai identifier-nya maka tidak ada tabel yang superfluous. dipilih sebagai sebuah entitas maka tabel Pengarang sebaiknya saat ini dipikirkan mengandung superfluous.

KOMENTAR AKHIR :  Pada saat bekerja dari skenario. tidak perlu dengan banyak entitas sekaligus.  Sebaiknya memulai dengan 2 entitas saja.Perancangan Basis Data 68 . sebaiknya menggarisbawahi pemilihan entitas. Albertus Deliar/2006 . relasi dan attribut dengan warna yang berbeda untuk setiap kategori. Seringkali terjadi kesalahan dalam menginterpretasikan entitas.

Inderaja dan SIG Fakultas Teknik Sipil dan Lingkungan Institut Teknologi Bandung 2006 .AKHIR PERKULIAHAN GD2131 SISTEM BASIS DATA Oleh: Albertus Deliar KK.

Sign up to vote on this title
UsefulNot useful