Sistem Basis Data

  • Uploaded by: Andre Sihotang
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sistem Basis Data as PDF for free.

More details

  • Words: 7,328
  • Pages: 134
SISTEM BASIS DATA

MATERI PERKULIAHAN  Bahasan: • • • • •

Pengertian Tabel Konsep Sistem Basis Data Proses Normalisasi Proses Entity relationship (ER) Perancangan Basis Data

Albertus Deliar/2006

2

REFERENSI  Connoly, T. M. dan C. E. Begg (2002), Database Systems, A Practical Approach to Design, Implementation, and Management, 3rd Edition, Pearson Education Ltd, Edinburgh.  Howe, D. R (1982), Data Analysis for Data Base Design, Edward Arnold, Leicester.  Korth, H. F. dan A. Silberschatz (1991), Database System Concepts, Mc Graw Hill, International Editions, New York.

Albertus Deliar/2006

3

PENGERTIAN TABEL  Materi: • • • •

Pengertian dan bentuk tabel; Persyaratan sebuah tabel bentuk normal; Nilai kosong (null value) Pengertian file

Albertus Deliar/2006 - Pengertian Tabel

4

BENTUK TABEL  Terdiri atas baris dan kolom.  Perpotongan baris dan kolom memiliki nilai data/nilai attribut.  Dapat ditulis: Mahasiswa (NIM, NM_MHS, ALAMAT, KOTA) Nama tabel

Tabel Mahasiswa NIM

NM_MHS ALAMAT

KOTA

1518801

Aa

Jl. X

Bandung

1518802

Bb

Jl. Y

Jakarta

1518803

Cc

Jl. X

Surabay a









n

Cc

Jl. Z

Serang

Baris/ record

Albertus Deliar/2006 - Pengertian Tabel

Jenis (nama) kolom/item/ field/attribut

Nilai data/ attribut 5

SYARAT TABEL 1. Urutan baris boleh sembarang dan dapat dipertukarkan tanpa mempengaruhi nilai informasi tabel. 2. Urutan kolom boleh sembarang dan tiap kolom memiliki nama/jenis atribut (item name) yang berbeda (unik). 3. Perpotongan baris dan kolom berisikan hanya satu nilai atribut/data. Banyak nilai pada perpotongan baris/kolom tidak diperbolehkan. 4. Penampilan tiap baris dalam satu tabel harus berbeda, tidak boleh persis sama. Albertus Deliar/2006 - Pengertian Tabel

6

NULL VALUE  Nilai atribut bisa jadi ‘tidak ada’, karena memang tidak diketahui atau karena memang betul-betul tidak ada.

 Contoh : telur ayam tidak diketahui berapa jumlahnya meskipun hewan ini pada kenyataannya memiliki telur, sedangkan gajah betul-betul tidak memiliki telur.  Untuk setiap nilai yang ‘tidak ada’ dapat ditampilkan (meskipun tidak selalu) dengan ‘nilai’ kosong (blank). Tabel Jenis Hewan

Diskusi: Apa bedanya antara null dengan nol?

Albertus Deliar/2006 - Pengertian Tabel

HEWAN

TELUR

Angsa

2

Gajah

Ayam

0

Bebek

7

TABEL NORMAL  Tabel yang sudah memenuhi 4 syarat tabel.  Umumnya kesalahan terjadi karena tidak dipenuhinya syarat nomor 3 (tabel belum normal).  Tabel yang sudah memenuhi pengujian dari proses tertentu disebut tabel normal penuh (fully normalized table), bukan hanya tabel normal. Tabel Mahasiswa NIM

ALAMAT

1518801

Jl. X

1518802

Jl. Y, Jl. X





n

Jl. Z

Albertus Deliar/2006 - Pengertian Tabel

Tabel Mahasiswa Diskusi: Manakah yang sudah berupa tabel normal?

NIM

ALAMAT

1518801

Jl. X

1518802

Jl. Y

1518802

Jl. X





n

Jl. Z 8

KONSEP SISTEM BASIS DATA  Materi: • • • • • •

Terminologi file Pengertian basis data Kebebasan data Sistem Managemen Basis Data Arsitektur basis data Duplikasi dan redundant data

Albertus Deliar/2006 - Konsep Sistem Basis Data

9

TERMINOLOGI FILE  File atau berkas ialah sekumpulan record yang berhubungan (collection of related records).  Dalam konteks ini berupa tabel. File Nilai Mahasiswa

File Mata Kuliah

Albertus Deliar/2006 - Konsep Sistem Basis Data

10

SISTEM FILE SEDERHANA  Setiap pengguna dapat memiliki beberapa file.  Ada beberapa data yang sama dan disimpan oleh setiap pengguna di file yang berbeda.

Data nama pegawai Albertus Deliar/2006 - Konsep Sistem Basis Data

11

KRITIK SISTEM FILE  Adanya data yang berlebihan (redundant) sehingga membutuhkan tempat penyimpanan yang besar. Div. Marketing

Div. Gudang

File harga barang: Kode, nama, harga, jumlah.

File stock barang: Kode, nama, jumlah, tgl_datang Ada data yang sama namun disimpan ditempat yang berbeda oleh pengguna yang berbeda juga Albertus Deliar/2006 - Konsep Sistem Basis Data

12

KRITIK SISTEM FILE  Ketidak-konsistenan data (inconsistency). Div. Gudang

Div. Marketing

File stock barang: Kode, nama, jumlah.

File harga barang: Kode, nama, harga, jumlah.

Data awal: 001, kursi, 20

Data awal: 001, kursi, Rp. 100.000, 20

Terjadi perubahan data: 001, kursi, 40

Tidak ada perubahan data: 001, kursi, Rp. 100.000, 20

Albertus Deliar/2006 - Konsep Sistem Basis Data

13

KONSEP SISTEM BASIS DATA  Definisi basis data: • Common pool • Non-redundant • Shareable

Albertus Deliar/2006 - Konsep Sistem Basis Data

14

CONTOH BASIS DATA Tabel Nilai Mahasiswa Tabel Mt_Kuliah Kd_MK NIM Nilai

Kd_MK Nm_MK SKS

Tabel Mahasiswa

Tabel Nilai Mahasiswa

NIM Nm_Mhs Alamat

Kd_MK NIM Nilai

DBM S

Program aplikasi Bidang Akademik

Program aplikasi Bidang Akademik

Program aplikasi Bidang Keuangan

Setiap program aplikasi yang dipakai pengguna hanya dapat mengakses data yang diperlukan saja. Albertus Deliar/2006 - Konsep Sistem Basis Data

15

PANDANGAN TERHADAP DATA  Basis data memisahkan antara • pandangan program-program aplikasi (local view) dengan • pandangan terhadap data yang disimpan (global view).

 Program aplikasi dapat mengakses data tersebut melalui DBMS (data base management systems) Local view Global view

view 1

File A view 2 … view n Albertus Deliar/2006

DBMS

File B File C File D 16

DATA INDEPENDENCE  Konsep adanya pandangan program aplikasi (local view) dengan pandangan global (global view) disebut kebebasan data/program.

untuk keperluan 1 Membangun program aplikasi dengan proses hitungan, tampilan dsb

Untuk mengakses data, harus melalui DBMS

Basis Data

untuk keperluan 2

Albertus Deliar/2006 - Konsep Sistem Basis Data

17

SISTEM MANAGEMEN BASIS DATA  SMBD/DBMS ialah perangkat lunak (software) perantara untuk mengelola masukan (input), manipulasi penyimpanan dan luaran (output) dari data.  Adanya DBMS/SMBD : • Menghindari adanya redundancy dan tidak konsistensi data. • Menjamin adanya pembakuan data (standardization). • Memungkinkan adanya berbagi pakai data (data sharing). • Mencek kemanan (security) data. • Menambah, memodifikasi atau menghapus data dari basisdata, ‘menanyakan’ (queries) tentang data yang ada pada basisdata, dan juga membuat/mencetak laporan yang berisikan data yang dipilih/diinginkan. Albertus Deliar/2006 - Konsep Sistem Basis Data

18

PEMELIHARAAN DATA  Adanya kebebasan data pada DBMS memberi kemungkinan untuk mengatasi masalah ‘pemeliharaan yang tidak produktif ‘ (unproductive maintenance)  Pemeliharaan data, antara lain, mencakup: • • • •

penambahan item perubahan format item perubahan organisasi file perubahan media penyimpanan

Albertus Deliar/2006 - Konsep Sistem Basis Data

19

ARSITEKTUR DBMS  Aristektur Dua Level : • DBMS/SMBD memungkinkan adanya interface antara: − gambaran global (global view) yang menyangkut data dengan − gambaran lokal (local view) dari program-program aplikasi.

 Aristektur Tiga Level : • Gambaran global (global view ) memuat 2 informasi : − Data apa saja yang ada/tersedia pada basis data; − Cara dan bagaimana data disimpan dan diakses.

• Ditambah dengan : − Gambaran lokal (local view)

Albertus Deliar/2006 - Konsep Sistem Basis Data

20

GAMBARAN ARSITEKTUR DBMS Arsitektur 2 level

Arsitektur 3 level Model/skema Eksternal

Local View

User/view 1

User/view 2



User/view n

Model/skema Konseptual

Global View Model/skema Internal

Albertus Deliar/2006 - Konsep Sistem Basis Data

21

SKEMA DAN MODEL DATA  Definisi Skema (scheme): gambaran tentang data dalam suatu bahasa pemrograman yang didesain sedemikian rupa sehingga dimengerti oleh DBMS tertentu saja ≈ struktur

 Definisi Model Data: • Deskripsi data yang yang terbebas dari DBMS manapun. • Muncul karena skema yang ditulis untuk satu DBMS belum tentu berlaku untuk DBMS lainnya sehingga perlu untuk dimiliki deskripsi data yang terbebas dari DBMS manapun.

 Selanjutnya istilah model data yang akan dipakai dibandingkan skema. Albertus Deliar/2006 - Konsep Sistem Basis Data

22

DESAIN MODEL KONSEPTUAL  Dalam membangun basis data, yang penting dilakukan ialah merancang model konseptual-nya.  Perancangan model konseptual dapat dilakukan dengan cara: • Proses normalisasi – Bottom up Design • Proses entity relationship (hubungan antar entitas) – Top down design

 Hasil model konseptual ini ialah terbentuknya struktur tabel yang sudah ternormalisasi secara penuh (normal penuh/ fully normalized table).  BD = set tabel yang saling berelasi Albertus Deliar/2006 - Konsep Sistem Basis Data

23

DUPLIKASI DATA  Terjadi jika terdapat nilai data yang sama di dalam satu atau lebih kolom/item.

Albertus Deliar/2006 - Konsep Sistem Basis Data

24

REDUNDANT DATA  Data disebut berlebihan (redundant) jika dapat dihapus tanpa menghilangkan informasi atau secara pasti masih dapat diketahui/ditelusuri dari kolom lainnya (duplikasi yang tidak perlu). ?

? ? Tidak redundant Albertus Deliar/2006 - Konsep Sistem Basis Data

25

ELIMINASI REDUNDANT DATA -1  Tentukan data yang duplikat pada tabel.

Albertus Deliar/2006 - Konsep Sistem Basis Data

26

ELIMINASI REDUNDANT DATA -2  Tentukan data yang redundant pada tabel dan cara mencari informasi tersebut jika data itu dihilangkan.

Diskusi: Mengapa bukan NIM yang dianggap redundant? Albertus Deliar/2006 - Konsep Sistem Basis Data

27

ELIMINASI REDUNDANT DATA -3  Tentukan ketergantungan kolom yang berisi data redundant dengan kolom lainnya.

Kolom NM_MHS, ALAMAT_MHS dan NIP dengan NIM Kolom NM_Dosen dengan NIP Albertus Deliar/2006 - Konsep Sistem Basis Data

28

ELIMINASI REDUNDANT DATA -4  Pisahkan tabel sesuai ketergantungan kolom tersebut menjadi beberapa tabel. • Kolom NM_MHS, ALAMAT_MHS dan NIP dengan NIM • Kolom NM_Dosen dengan NIP Tabel Mahasiswa Tabel Dosen

Diskusi: Perhatikan jumlah baris/record setiap tabel yang ternyata berkurang, mengapa? Albertus Deliar/2006 - Konsep Sistem Basis Data

29

PROSES NORMALISASI  Materi: • Konsep Proses Normalisasi • Bentuk Normal 1 (Repeating Group) • Bentuk Normal 2 :    

Duplikasi data Redundant data Determinan Identifier

• Bentuk Normal 3 (Boyce-Codd) • Bentuk Normal 4 (multi-valued determinancies) • Bentuk Normal 5 (join depedencies)

Albertus Deliar/2006 - Proses Normalisasi

30

KONSEP PROSES NORMALISASI  Proses penyusunan model konseptual basis data berdasarkan hubungan antar attribut (kolom/item).  Disebut pemodelan basis data secara bottom-up.

Contoh basis data flat

Albertus Deliar/2006 - Proses Normalisasi

31

TAHAPAN PROSES NORMALISASI 1st NF: Repeating group

3rd NF: Ketergantungan transitif

2nd NF: Ketergantunga n attribut

Tabel Belum normal (unnormalised table) Tabel Bentuk Normal 1 Tabel Bentuk Normal 2 Tabel Bentuk Normal 3 Tabel Bentuk Normal 4 Tabel Bentuk Normal 5

4th NF: Determinan multiAlbertus Deliar/2006 - Proses Normalisasi valued

5th NF: Join depedency 32

TABEL BELUM NORMAL  Terjadi jika salah satu syarat tabel belum dipenuhi.  Untuk membentuk tabel normal (bukan normal penuh), maka syarat tabel harus dipenuhi.

Diskusi: Bagaimana cara mengeliminir kesalahan tabel diatas? Albertus Deliar/2006 - Proses Normalisasi

33

REPEATING GROUPS  Khusus terjadi jika syarat tabel yang menyatakan perpotongan baris dan kolom berisi satu nilai data tidak dipenuhi.

Albertus Deliar/2006 - Proses Normalisasi

34

TABEL NORMAL BENTUK 1 [1ST NF]  Cara menghilangkan kesalahan ini ialah dengan menambahkan record untuk memecah nilai data yang berisi lebih dari satu nilai.

Albertus Deliar/2006 - Proses Normalisasi

35

ENTERPRISE  Bagian dari real world yang dimodelkan oleh basis data. Pemodelan bisa jadi menyangkut seluruh organisasi (mis. perusahaan, universitas, rumah sakit, dll.), sebagian dari organisasi, atau salah satu proses atau sistem yang ada pada organisasi tsb.

 Yang perlu diketahui terlebih dahulu untuk merancang basis data adalah ‘ketentuan apa yang ada untuk mengatur segala sesuatu tentang data’.  Ketentuan apa saja (tentang data/informasi) yang ada yang (akan) diterapkan pada model untuk suatu enterprise, disebut sebagai enterprise rules. Albertus Deliar/2006 - Proses Normalisasi

36

ENTERPRISE RULES  Aturan yang diperlukan untuk mendefinisikan secara jelas dan tegas tentang transaksi, entitas dan keterkaitan antar entitas (entity relationship).  Contoh suatu enterprise rules : • Nilai yang ada untuk komp# hanya boleh memiliki satu kaitan dengan nilai des_komp. • Nilai yang ada untuk des_komp boleh memiliki kaitan dengan banyak nilai komp#. • Nilai yang ada untuk pemasok# boleh memiliki kaitan dengan banyak nilai komp#. • Nilai yang ada untuk komp# boleh memiliki kaitan dengan banyak nilai pemasok#.

Albertus Deliar/2006 - Proses Normalisasi

37

DETERMINAN -1  Berdasarkan enterprise rule, ditentukan bahwa pada suatu tabel, nilai-nilai yang duplikasi dari atribut A selalu berkaitan/berasosiasi dengan nilai item yang sama dari atribut B (melalui berbagai tampilan tabel), maka A dikatakan sebagai determinan (penentu) dari B.

• duplikasi nilai a2 pada attribut A selalu berhubungan dengan nilai yang sama dari attibut B yaitu b1. Albertus Deliar/2006 - Proses Normalisasi

38

DETERMINAN -2  Apabila nilai item a1 dan a2 (tidak duplikasi) untuk A, keduanya berasosiasi dengan nilai item yang sama atau nilai item yang berbeda (berarti berasosiasi satu-satu) dari B, maka A determinan dari B; selanjutnya dapat dikatakan bahwa A ‘menentukan’ B, dan B ‘ditentukan’ oleh (atau tegantung pada ) A.  Lebih tegas lagi apabila duplikasi tidak boleh muncul pada atribut A, maka A (dapat dipastikan) determinan dari B

Albertus Deliar/2006 - Proses Normalisasi

39

CONTOH DETERMINAN  Tentukan attribut yang menjadi determinan?

 komp# determinan dari des_komp  komp# determinan dari juml_stok

 des_komp bukan determinan dari komp#, mengapa?  bagaimana juml_stok terhadap komp#?

Albertus Deliar/2006 - Proses Normalisasi

40

DETERMINAN KOMPOSIT  Manakah attribut yang menjadi determinan?

 Attribut gabungan {toko#, barang} merupakan determinan komposit dari attribut juml_stok Albertus Deliar/2006 - Proses Normalisasi

41

ATTRIBUTE SUPERFLUOUS  Dikatakan berlebihan jika ternyata suatu determinan tidak akan berisikan atribut yang ‘berlebihan’.

 Dapatkah attribut komposit {komp#, desk_komp} menjadi determinan terhadap attribut juml_stok?  Baikkah determinan tersebut? Albertus Deliar/2006 - Proses Normalisasi

42

DIAGRAM DETERMINAN  Diagram determinansi membantu dalam melihat adanya determinan dan atribut-atribut yang dideterminansi. A A

B

Attribut A determinan dari attribut B

B

Attribut A determinan dari attribut B dan attribut B determinan dari attribut A

 Diagram determinansi dapat digunakan untuk menyatakan dengan lebih baik tentang ketentuan yang ada pada enterprise rule. Albertus Deliar/2006 - Proses Normalisasi

43

CONTOH DIAGRAM DETERMINAN -1 des_komp

komp# juml_stok

 setiap satu nilai item yang ada pada komp# hanya berasosiasi dengan satu nilai item pada des_komp dan satu nilai item pada juml_stok.

Albertus Deliar/2006 - Proses Normalisasi

44

CONTOH DIAGRAM DETERMINAN -2



Enterprise rule : 1. Seorang pemasok diidentifikasi dengan satu nilai pemas#, dan satu komponen diidentifikasi oleh satu nilai komp#; 2. Setiap pemasok hanya memiliki satu nama, tetapi diantara para pemasok mungkin memiliki nama yang sama; 3. Seorang pemasok dapat memasok banyak jenis komponen dalam bentuk/ukuran kemasan yang berbeda; 4. Satu jenis komponen dapat dipasok oleh lebih dari satu pemasok dalam bentuk/ukuran kemasan yang berbeda; 5. Satu pemasok yang ditentukan memasok satu komponen yang ditentukan hanya dalam satu bentuk/ukuran kemasan.

Albertus Deliar/2006 - Proses Normalisasi

45

PROSES DIAGRAM DETERMINAN 1. Penggambaran kotak untuk setiap atribut yang ada. pemas#

nama_pemas

komp#

kemasan

2. Penggambaran diagram determinansinya pemas#

nama_pemas

komp#

kemasan

Albertus Deliar/2006 - Proses Normalisasi

46

IDENTIFIER (ID) BARIS/TABEL  Ketentuan bahwa dua baris pada suatu tabel tidak boleh (memiliki nilai) yang identik (sama persis) dapat diartikan bahwa setiap baris selalu dapat diidentifikasi/ditelusuri ‘melalui’ nilai item dari suatu atribut yang ada pada baris tersebut.

 Attribut yang nilai datanya dapat mengidentifikasi atau menelusuri secara tepat ‘satu’ baris disebut sebagai ‘IDENTIFIER’ (pengenal).  Identifier berfungsi sebagai ‘label/tanda’ untuk suatu baris = harus diketahui nilainya = tidak boleh memiliki nilai ‘tidak ada/diketahui’ (null value). Albertus Deliar/2006 - Proses Normalisasi

47

DETERMINAN DAN IDENTIFIER  Untuk mengenali suatu identifier dengan mudah dapat dicari dari diagram determinan. des_komp komp# juml_stok

Identifier

 Mengapa determinan dapat menjadi ID?

Albertus Deliar/2006 - Proses Normalisasi

48

CONTOH IDENTIFIER -1  Tabel: • toko (toko#, barang, juml_stok)

 Manakah ID tabel/baris-nya? barang toko# juml_stok Albertus Deliar/2006 - Proses Normalisasi

49

CONTOH IDENTIFIER -2

 Dapatkah (komp#, des_komp) menjadi ID komposit dari baris atau tabel diatas?  ID superfluous tidak diperkenankan

Albertus Deliar/2006 - Proses Normalisasi

50

DIAG. DETERMINAN & REDUNDANT -1  Jika suatu enterprise rules dapat direpresentasikan atau disajikan oleh suatu diagram determinansi, maka akan dengan mudah dapat dilakukan pencarian dan pengeliminasian data redundant pada suatu struktur tabel.

 Misalkan ada tabel seperti berikut : Pelanggan-Penjaja (pelanggan#, penjaja#, nama penjaja)

 E-Rules: • Setiap pelanggan# berasosiasi dengan satu penjaja#; • Setiap penjaja# (dapat) berasosiasi dengan beberapa/ sejumlah pelanggan#.

Albertus Deliar/2006 - Proses Normalisasi

51

DIAG. DETERMINAN & REDUNDANT -2 pelanggan# Determinan identifier

penjaja# Determinan

nama_penjaja

• penjaja# akan memiliki nilai duplikasi, jika tidak berarti penjaja# akan jadi identifier dan konsekuensinya merupakan satu determinan untuk pelanggan#; • penjaja# determinan nama_penjaja. Setiap pemunculan duplikasi dari penjaja# akan berasosiasi dengan nilai nama_penjaja; nama_penjaja akan memiliki nilai redundant; • Dilain pihak nilai pelanggan# tidak mungkin duplikasi karena pelanggan# merupakan suatu identifier , oleh karenanya tidak akan ada nilai redundant untuk penjaja#; • Potensi terjadinya nilai redundant akan muncul disebabkan penjaja# merupakan suatu determinan tapi belum merupakan ‘calon/kandidat identifier’. Albertus Deliar/2006 - Proses Normalisasi

52

DIAG. DETERMINAN & REDUNDANT -2 pelanggan# Determinan identifier pelanggan#

PL01 PL07 PL10 PL20 PL22 • • • •

penjaja# Determinan

nama_penjaja

penjaja# nama_penjaja PJ11 PJ05 PJ12 PJ11 PJ19

Siti Ani Rara Siti Siti

penjaja# akan memiliki nilai duplikasi, jika tidak berarti penjaja# akan jadi identifier dan konsekuensinya merupakan satu determinan untuk pelanggan#; penjaja# determinan nama_penjaja. Setiap pemunculan duplikasi dari penjaja# akan berasosiasi dengan nilai nama_penjaja; nama_penjaja akan memiliki nilai redundant; Dilain pihak nilai pelanggan# tidak mungkin duplikasi karena pelanggan# merupakan suatu identifier , oleh karenanya tidak akan ada nilai redundant untuk penjaja#; Potensi terjadinya nilai redundant akan muncul disebabkan penjaja# merupakan suatu determinan tapi belum merupakan ‘calon/kandidat identifier’.

Albertus Deliar/2006 - Proses Normalisasi

53

PROSES BENTUK NORMAL 2 -1  Menyusun ketergantungan setiap attribut terhadap attribut kuncinya (ID).  Perlu penggambaran diagram determinan untuk mengetahui ID baris.

Albertus Deliar/2006 - Proses Normalisasi

54

PROSES BENTUK NORMAL 2 -2 Determinan Identifier

pemas#

nama_pemas

komp#

kemasan

pemas#

pemas#

nama_pemas

Determinan Identifier

Albertus Deliar/2006 - Proses Normalisasi

komp#

kemasan

Determinan Identifier

55

TABEL NORMAL BENTUK 2 [2ND NF] Tabel Pemasok

Tabel normal bentuk 2 yang terbentuk ialah: Pemasok(pemas#, nama_pemas) Komponen(pemas#, komp#, kemasan) *Simbol __ berarti ID

Tabel Komponen

Albertus Deliar/2006 - Proses Normalisasi

56

DETERMINAN TRANSITIF  Jika atribut A determinan dari atribut B, dan atribut B determinan dari atribut C, maka atribut A harus merupakan determinan dari atribut C.  Atribut A dikatakan sebagai determinan transitif dari atribut C; sebaliknya atribut C dikatakan memiliki ketergantungan transitif (transitively dependent ) terhadap A.

Albertus Deliar/2006 - Proses Normalisasi

57

ATURAN BOYCE-CODD Setiap determinan harus menjadi kandidat identifier  Aturan ini dipakai untuk mendeteksi adanya redundancy pada suatu tabel  Tabel yang memenuhi aturan ini disebut sebagai tabel dengan Bentuk Normal Boyce/Codd - BNBC (Boyce/ Codd Normal Form - BCNF) atau ‘normal yang betul’ (well normalised table)

 Bentuk ini merupakan Tabel Normal Bentuk 3

Albertus Deliar/2006 - Proses Normalisasi

58

PROSES BENTUK NORMAL 3

pelanggan#

penjaja#

determinan dan identifier

nama_penjaja

determinan

 ada suatu tabel yang memiliki determinan yang bukan identifier (terjadi redundancy).  Mengubah tabel yang demikian menjadi BNBC dengan cara membentuk tabel baru sedemikian rupa sehingga determinan non-identifier pada tabel lama menjadi identifier. Albertus Deliar/2006 - Proses Normalisasi

59

TABEL NORMAL BENTUK 3 [3rd NF] / BNBC pelanggan#

penjaja#

determinan dan identifier

penjaja#

nama_penjaja

determinan dan identifier

Albertus Deliar/2006 - Proses Normalisasi

60

TABEL NORMAL PENUH  Dipakai untuk mendeskripsikan sekumpulan tabel yang terstruktur sehingga tidak berisi data redundant.  Dalam banyak kasus, tabel normal baik sudah merupakan tabel normal penuh.

 Dalam beberapa kasus, perlu dilakukan proses lebih lanjut.

Albertus Deliar/2006 - Proses Normalisasi

61

HIDDEN TRANSITIVE DEPENDENCY -1 Manakah yang benar? Pesanan (pesanan#, pelanggan#, nama_pel) (a)

pesanan#

pelanggan#

(b) Versi A Pes-Pel (pesanan#, pelanggan#) Pelanggan-1 (pelanggan#, nama_pel)

Albertus Deliar/2006 - Proses Normalisasi

nama_pel

Versi B Pes-Pel (pesanan#, pelanggan#) Pelanggan-2 (pesanan#, nama_pel)

62

HIDDEN TRANSITIVE DEPENDENCY -2 (c)

Pes-Pel

Pelanggan1

Pelanggan2

 Bagaimana jika nama pelanggan P1 berubah dari Suma menjadi Sumo?

Albertus Deliar/2006 - Proses Normalisasi

63

Normalkan tabel berikut ini !

Albertus Deliar/2006

64

QUIZ Pengarang(autor#, nama_autor, buku#, judul_buk, nama_suby).        

Autor# : kode penulis Nama_autor : nama penulis Buku# : kode buku Judul_buk : judul buku Nama_suby : jenis buku (biologi, fisika dsb) Setiap penulis dapat menulis banyak buku Setiap buku dapat ditulis banyak penulis Setiap buku dapat memiliki beberapa subyek

 Buatlah tabel normal penuhnya.  Berikan contoh tabel pemunculannya. Albertus Deliar/2006 - Proses Normalisasi

65

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

66

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

Albertus Deliar/2006 - Proses Entity Relationship

Attribut … Attribut n

67

MODEL ENTITY RELATIONSHIP  Entity/ Entitas

: a thing (object, concept)

 Attribut

: a property of an entity

 Relationship

: an association between two (or more) entities

Entitas kendaraan darat !!!

Albertus Deliar/2006 - Proses Entity Relationship

Propertinya ???

68

ENTITAS  Setiap entitas memiliki anggota entitas.  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 Mahasiswa memiliki ID Entitas NIM • Entitas Dosen memiliki ID Entitas NIP

Albertus Deliar/2006 - Proses Entity Relationship

69

CONTOH MODEL ER Entitas komputer & Propertinya??

Entitas harddisk & Propertinya??

Hubungan keduanya ?? Albertus Deliar/2006 - Proses Entity Relationship

70

JENIS ENTITAS & PEMUNCULANNYA  Entitas

: Gudang, Produk

 Relasi

: menyimpan

 Attribut

: G1 Jakarta, G2 Bandung, P2 Printer, …

GUDANG G1 Jakarta G2 Bandung

SIMPAN

BARANG B4 Printer B2 Scanner B5 Plotter B3 Harddisk

Albertus Deliar/2006 - Proses Entity Relationship

71

DIAGRAM ENTITY RELATIONSHIP (ER)  Menggambarkan hubungan semua entitas.  Dalam diagram, dituliskan juga derajat dan kelas keanggotaan (dibahas kemudian)

GUDANG

SIMPAN

BARANG

Relasi

Albertus Deliar/2006 - Proses Entity Relationship

72

DERAJAT HUBUNGAN/RELASI  Menunjukkan hubungan antar anggota dari suatu entitas terhadap anggota dari entitas lainnya.  Derajat hubungan ditentukan dari enterprise rules.  Secara mudah dapat diketahui melalui diagram pemunculannya. Dalam menggambarkan diagram pemunculannya, anggota entitas cukup diwakili oleh ID entitas saja. GUDANG G1 G2

SIMPAN

BARANG B4 B2 B3

Albertus Deliar/2006 - Proses Entity Relationship

73

DERAJAT 1:1  Enterprise Rules : • Seorang dosen (hampir selalu) mengajar satu matakuliah. • Satu mata-kuliah (hampir selalu) diajar oleh satu dosen. 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. • Satu mata-kuliah secara pasti diajar oleh satu dosen. Albertus Deliar/2006 - Proses Entity Relationship

74

DERAJAT 1:BANYAK / BANYAK:1  Enterprise Rules : • Seorang dosen kemungkinan mengajar banyak matakuliah. • Satu mata-kuliah (hampir selalu) diajar oleh satu dosen. 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. • Satu mata-kuliah secara pasti diajar oleh satu dosen. Albertus Deliar/2006 - Proses Entity Relationship

75

DERAJAT BANYAK:BANYAK  Enterprise Rules : • Seorang dosen kemungkinan mengajar banyak matakuliah. • Satu mata-kuliah kemungkinan diajar oleh banyak dosen. DOSEN 130 000 001 130 000 002 130 000 003 130 000 004

Albertus Deliar/2006 - Proses Entity Relationship

AJAR

KULIAH GD3132 GD4444 GD4491 GD1111 GD1112

76

DIAGRAM ER & DERAJAT RELASI  Derajat relasi digambarkan dalam diagram ER. DOSEN

DOSEN

DOSEN

1

1

m

Albertus Deliar/2006 - Proses Entity Relationship

AJAR

AJAR

AJAR

1

n

n

KULIAH

1:1

KULIAH

1:n

KULIAH

m:n

77

KELAS KEANGGOTAAN  Menunjukkan apakah semua anggota entitas memiliki hubungan dengan anggota entitas lagi secara pasti atau tidak.  Kelas keanggotaan: • OBLIGATORY / OBL (wajib): Jika semua anggota entitas secara pasti berhubungan dengan anggota entitas lainnya.

• NON-OBLIGATORY / NON_OBL : Jika tidak semua anggota entitas secara pasti berhubungan dengan anggota entitas lainnya.

Albertus Deliar/2006 - Proses Entity Relationship

78

CONTOH OBL/OBL  Enterprise rules: • Satu Departemen harus mempekerjakan paling tidak satu Karyawan. • Seorang Karyawan harus dipekerjakan paling tidak oleh satu Departemen. Departemen

kerja

Karyawan

 Anggota kedua entitas tersebut secara pasti berhubungan sehingga keduanya memiliki kelas obligatory Albertus Deliar/2006 - Proses Entity Relationship

79

CONTOH NON_OBL-NON_OBL  Enterprise rules: • Satu Departemen tidak perlu mempekerjakan seorang Karyawan-pun. • Seorang Karyawan tidak perlu dipekerjakan oleh Departemen manapun. Departemen

kerja

Karyawan

 Anggota kedua entitas tersebut tidak selalu memiliki hubungan satu sama lain sehingga keduanya memiliki kelas non-obligatory Albertus Deliar/2006 - Proses Entity Relationship

80

CONTOH 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.  Sebaliknya untuk entitas Karyawan sehingga berkelas obligatory Albertus Deliar/2006 - Proses Entity Relationship

81

TABEL SKELETON (KERANGKA) ER  Diagram E-R digunakan untuk menggambarkan berbagai unsur penting dari model konseptual, tetapi tidak menunjukkan atribut-attribut yang berhubungan dengan entitas dan jenis hubungannya (relationship).

 Informasi tambahan tersebut, tentang keterkaitan attribut-attribut, dapat direpresentasikan dalam bentuk tabel normal penuh.  Representasi jenis tabel untuk setiap entitas dan jenis relasinya yang berupa tabel normal penuh (belum berisi attribut lainnya) disebut tabel skeleton ER. Albertus Deliar/2006 - Proses Entity Relationship

82

REPRESENTASI HUBUNGAN 1:1  Ada ketentuan tentang dosen dan mata kuliah: • Seorang dosen maksimal dapat mengajar satu matakuliah. • Satu mata-kuliah maksimal dapat diajar oleh satu dosen.

 Setiap dosen dapat diidentifikasi melalui NIP.

 Setiap mata kuliah dapat diidentifikasi dengan Kode_MK  Kondisi ini menggambarkan derajat relasi 1:1.

 Representasi entitas dalam bentuk tabel: • Entitas Dosen (NIP, …) • Entitas Kuliah (Kode_MK, …) Albertus Deliar/2006 - Proses Entity Relationship

83

DERAJAT 1:1 / KELAS OBL-OBL  Enterprise rules: • Seorang dosen selalu mengajar satu mata-kuliah. • Satu mata-kuliah selalu diajar oleh satu dosen.

AJAR

DOSEN

KULIAH

130 000 001 130 000 002

GD3333 GD4444 GD2222 GD1111

130 000 003 130 000 004

DOSEN

Albertus Deliar/2006 - Proses Entity Relationship

1

AJAR

1

KULIAH

84

TABEL SKELETON 1:1/OBL-OBL  Karena keduanya obligatory maka kedua entitas tersebut dapat digabungkan membentuk 1 tabel normal penuh. Dengan kata lain, attribut entitas Dosen dapat dipasangkan (posted) ke dalam attribut entitas Kuliah, atau sebaliknya.

 Terbentuk 1 tabel: • Tabel Dosen_Kuliah (NIP, …, Kode_MK, …)

Albertus Deliar/2006 - Proses Entity Relationship

85

DERAJAT 1:1 / KELAS OBL-NON_OBL  Enterprise rules: • Seorang dosen dapat mengajar satu mata-kuliah atau tidak. • Satu mata-kuliah selalu diajar oleh satu dosen. AJAR

DOSEN

KULIAH

130 000 001 130 000 002

GD3333 GD4444 GD2222 GD1111

130 000 003 130 000 004 130 000 005

DOSEN

Albertus Deliar/2006 - Proses Entity Relationship

1

AJAR

1

KULIAH

86

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.  Terbentuk 2 tabel: • Tabel Dosen (NIP, …) • Tabel Kuliah (Kode_MK, …, NIP)

Albertus Deliar/2006 - Proses Entity Relationship

87

DERAJAT 1:1 / KELAS NON_OBL-NON_OBL  Enterprise rules: • Seorang dosen dapat mengajar satu mata-kuliah atau tidak. • Satu mata-kuliah tidak selalu diajar oleh dosen. AJAR

DOSEN

KULIAH

130 000 001 130 000 002

GD3333 GD4444 GD2222 GD1111 GD5555

130 000 003 130 000 004 130 000 005

DOSEN

Albertus Deliar/2006 - Proses Entity Relationship

1

AJAR

1

KULIAH

88

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

Albertus Deliar/2006 - Proses Entity Relationship

89

REPRESENTASI HUBUNGAN 1:n  Ada ketentuan tentang dosen dan mata kuliah: • Seorang dosen dapat mengajar lebih dari satu matakuliah. • Satu mata-kuliah maksimal dapat diajar oleh satu dosen.

 Setiap dosen dapat diidentifikasi melalui 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, …) • Entitas Kuliah (Kode_MK, …) Albertus Deliar/2006 - Proses Entity Relationship

90

DERAJAT 1:n / KELAS OBL-OBL  Enterprise rules: • Seorang dosen selalu mengajar satu atau lebih matakuliah. • Satu mata-kuliah selalu diajar oleh satu dosen.

AJAR

DOSEN

KULIAH

130 000 001 130 000 002

GD3333 GD4444 GD2222 GD1111

130 000 003

DOSEN

Albertus Deliar/2006 - Proses Entity Relationship

1

AJAR

n

KULIAH

91

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, …) • Tabel Kuliah (Kode_MK, …, NIP)

Albertus Deliar/2006 - Proses Entity Relationship

92

DERAJAT 1:n / KELAS OBL-NON_OBL  Enterprise rules: • Seorang dosen selalu mengajar satu atau lebih matakuliah. • Satu mata-kuliah dapat atau tidak diajar oleh satu dosen.

AJAR

DOSEN

KULIAH

130 000 001 130 000 002

GD3333 GD4444 GD2222 GD1111 GD5555

130 000 003

DOSEN

Albertus Deliar/2006 - Proses Entity Relationship

1

AJAR

n

KULIAH

93

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

Albertus Deliar/2006 - Proses Entity Relationship

94

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.

AJAR

DOSEN

KULIAH

130 000 001 130 000 002

GD3333 GD4444 GD2222 GD1111

130 000 003 130 000 004

DOSEN

Albertus Deliar/2006 - Proses Entity Relationship

1

AJAR

n

KULIAH

95

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’.  Terbentuk 2 tabel: • Tabel Dosen (NIP, …) • Tabel Kuliah (Kode_MK, …, NIP)

Albertus Deliar/2006 - Proses Entity Relationship

96

DERAJAT 1:n / KELAS NON-NON  Enterprise rules: • Seorang dosen dapat mengajar satu atau lebih matakuliah. • Satu mata-kuliah dapat diajar oleh satu atau lebih dosen.

AJAR

DOSEN

KULIAH

130 000 001 130 000 002

GD3333 GD4444 GD2222 GD1111 GD5555

130 000 003 130 000 004

DOSEN

Albertus Deliar/2006 - Proses Entity Relationship

1

AJAR

n

KULIAH

97

TABEL SKELETON 1:n/NON-NON  Karena jeduanya berkelas non-obligatory maka perlu dibentuk tabel penghubung.  Terbentuk 3 tabel: • Tabel Dosen (NIP, …) • Tabel Dosen-Kuliah (NIP, Kode_MK) • Tabel Kuliah (Kode_MK, …)

Albertus Deliar/2006 - Proses Entity Relationship

98

REPRESENTASI HUBUNGAN m:n  Untuk jenis hubungan ‘many to many’ ini tidak perlu memperhatikan kelas keanggotaan.  Untuk menghubungkan dua entitas selalu diperoleh tiga tabel, 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. • Satu mata-kuliah dapat diajar oleh lebih satu dosen. • Setiap dosen dapat diidentifikasi melalui NIP. • Setiap mata kuliah dapat diidentifikasi dengan Kode_MK Albertus Deliar/2006 - Proses Entity Relationship

99

DERAJAT m:n  Enterprise rules: • Seorang dosen dapat mengajar satu atau lebih matakuliah. • Satu mata-kuliah dapat diajar oleh satu atau lebih dosen. DOSEN

AJAR

KULIAH

130 000 001 130 000 002

GD3333 GD4444 GD2222 GD1111 GD5555

130 000 003 130 000 004

DOSEN

m

Albertus Deliar/2006 - Proses Entity Relationship

AJAR

n

KULIAH

100

TABEL SKELETON m:n  Karena jeduanya berderajat banyak-banyak maka perlu dibentuk tabel penghubung.  Terbentuk 3 tabel: • Tabel Dosen (NIP, …) • Tabel Dosen-Kuliah (NIP, Kode_MK) • Tabel Kuliah (Kode_MK, …)

Albertus Deliar/2006 - Proses Entity Relationship

101

TUGAS  Buatlah review tentang proses pembentukan tabel skeleton ER untuk semua kombinasi derajat dan kelas.  Berikan juga alasan mengapa tabel yang terbentuk harus demikian. Contoh, pada derajat 1:1 dan kelas non_obl-non_obl harus terbentu 3 tabel, mengapa tidak 2 tabel? Berikan alasan dan juga ilustrasinya.  Review ini tidak boleh sama dengan bahan transparansi yang ada, baik tulisan maupun contoh, dan harus berupa narasi.

Albertus Deliar/2006 - Proses Entity Relationship

102

DEKOMPOSISI BANYAK-BANYAK  Merupakan pemisahan relasi m:n menjadi dua relasi 1:n.  Hal ini dikarenakan adanya beberapa SMBD yang tidak mampu menangani relasi m:n.

 Jika dilakukan proses entity relationship, maka dekomposisi tersebut secara pasti dilakukan, karena hubungan m:n akan membentuk 3 tabel. DOSEN

DOSEN

1

Albertus Deliar/2006 - Proses Entity Relationship

m

AJAR n

n

Dosen_Kuliah

n

KULIAH 1

KULIAH 103

PERANGKAP RELASI  Merupakan perangkap yang adakalanya dijumpai oleh perancang & pemakai model konseptual yang harus dihilangkan.  Perangkap ini biasanya muncul akibat salah interpretasi dalam mengartikan relasi (relationship).

Dari gambar diatas, apakah interpretasi yang dapat diberikan (pilih) : 1. Penjaga mengawasi hewan; 2. Makanan adalah yang dimakan hewan; 3. Makanan yang diawasi oleh penjaga; 4. Makanan adalah yang dimakan penjaga; 5. Hewan menyukai makanan; 6. Hewan diberi makan penjaga. Albertus Deliar/2006 - Proses Entity Relationship

104

PERANGKAP KIPAS (FAN TRAP)  Sering muncul pada bentuk relasi n:1-1:n.  Sebagai contoh : • Dari gambar (a) dibentuk hubungan Departemen ke Pekerja melalui Divisi yang sangat mungkin dalam menyimpulkan pekerja mana dimiliki oleh departemen mana. 1

n Departeme n

Divisi

Termasuk dept

1 Termasuk pek

n

(a)

Pekerja

Diskusi: Apa enterprise yang dapat diambil dari diagram diatas? Albertus Deliar/2006 - Proses Entity Relationship

105

HASIL INTERPRETASI • Dari gambar b memperlihatkan kesimpulan tersebut tidak dapat terjadi karena tidak ada cara untuk mengetahui pekerja 1, 2, 3 dimiliki oleh departemen 1 atau 2. • Hal yang mungkin terpikirkan ialah pekerja dimiliki oleh divisi tetapi bukan departemen. DEPARTEMEN

Termasuk dept

DIVISI

1

P2 P3

C D

PEKERJA P1

A B

Termasuk pek

2

(b)

P4

P5 Diskusi: Bagaimana diagram yang seharusnya dari hasil interpretasi? Albertus Deliar/2006 - Proses Entity Relationship

106

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

Termasuk dept

Divisi

Termasuk pek

(c)

n Pekerja

 Pemahaman tentang enterprise yang ada harus benar-benar dimengerti agar tidak salah dalam menginterpretasikannya ke bentuk struktur relasi. Albertus Deliar/2006 - Proses Entity Relationship

107

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

Albertus Deliar/2006 - Proses Entity Relationship

108

QUIZ (30’)  Pasien, yang diidentifikasikan dengan pasien#, memiliki jadwal pertemuan konsultasi dengan dokter, 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.  Buatlah model kerangka ER secara lengkap.  Attribut yang diperlukan dapat ditambahkan sesuai kebutuhan.

Albertus Deliar/2006 - Proses Entity Relationship

109

PERANCANGAN BASIS DATA  Materi: • Desain Tingkat 1 (1st level design)

Albertus Deliar/2006 - Proses Entity Relationship

110

1ST LEVEL DESIGN  Digunakan karena rancangan akan dibutuhkan untuk pekerjaan selanjutnya dalam mentransformasikan desain ke implementasi akhir.  Mencakup : • Analisis data, yaitu kepemilikan data yang dibutuhkan untuk analisis. • Analisis fungsional, yaitu bentuk transaksi yang akan dioperasikan.

Albertus Deliar/2006 - Perancangan Basis Data

111

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

112

LANGKAH 1 Sketsalah permasalahan dengan diagram E-R secara bebas. • Diagram ini digambarkan secara sederhana untuk membantu pemikiran awal tentang data yang dibutuhkan, atau • Gambarkan secara singkat (sketsa) permasalahan.

Albertus Deliar/2006 - Perancangan Basis Data

113

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

114

LANGKAH 3 Persiapkan suatu daftar awal atribut. • Menyusun suatu daftar attribut : peminjam#, buku#, nama_peminjam, alamat_peminjam, judul, pengarang, penerbit, tgl_terbit, ISBN, harga_beli, harga_aktual, batas_pinjam, status_peminjam, tgl_pinjam, tgl_pesan.

• Beberapa attribut disini dapat berupa gabungan, seperti nama_peminjam dapat menjadi nama_keluarga dan panggilan.

Albertus Deliar/2006 - Perancangan Basis Data

115

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

Albertus Deliar/2006 - Perancangan Basis Data

116

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

Albertus Deliar/2006 - Perancangan Basis Data

117

LANGKAH 5b (a)

(b)

Peminjam

Peminjam

1

m 1

Pinjam

n

Buku

n

Judul

Pesan Pinjam n 1 n

(c)

Peminjam

m 1

Albertus Deliar/2006 - Perancangan Basis Data

Pesan

Buku Judul 1 Sedia

Pinjam n 1

n Buku 1 118

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

119

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

120

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

121

LANGKAH 7 Mengembangkan tabel entitas (langkah 4) ke tabel skeleton dengan memperhatikan diagram E-R. Hapus semua attribut yang dipakai sebagai identifier tabel skeleton dari daftar attribut. Tabel kerangka ialah : • Tabel entitas − Peminjam (peminjam#, …) − Buku (buku#, ISBN, …) − Judul (ISBN, …)

• Tabel relasi − Pinjam (buku#, peminjam#, …) − Pesan (peminjam#, ISBN, …)

• Relasi Pesan direpresentasikan dengan memasangkan (posted) ISBN ke Buku. Albertus Deliar/2006 - Perancangan Basis Data

122

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

123

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

124

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

125

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). Adakalanya hal tersebut tidak/sukar dilakukan maka ulangilah dari langkah 5. • Attribut yang belum dipasangkan ialah nama pengarang, status_peminjam, batas_pinjam dan penerbit. • Pengarang tidak diletakkan ke Judul karena akan menimbulkan repeating group. Jika tidak diperlukan untuk menyimpan berbagai attribut pengarang lainnya selain nama pengarang tersebut maka cukup untuk memperkenalkan Pengarang sebagai sub-entitas dari Judul. Albertus Deliar/2006 - Perancangan Basis Data

126

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

127

LANGKAH 9c Limit

1 Terbita n

Terbit

1 n n

Atur n

m

Pesan

Tulis

1

Peminjam

Sedia

1

n Pengaran g

n 1

Pinjam n

Albertus Deliar/2006 - Perancangan Basis Data

Judul

1

Buku

128

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

129

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

Albertus Deliar/2006 - Perancangan Basis Data

130

LANGKAH 11b  D – delete (penghapusan)  R – retrieve (pengambilan)  S – store (penyimpanan)  U – update (pembaharuan)

Albertus Deliar/2006 - Perancangan Basis Data

131

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

Albertus Deliar/2006 - Perancangan Basis Data

132

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

Albertus Deliar/2006 - Perancangan Basis Data

133

AKHIR PERKULIAHAN GD2131 SISTEM BASIS DATA

Oleh: Albertus Deliar

KK. Inderaja dan SIG Fakultas Teknik Sipil dan Lingkungan Institut Teknologi Bandung 2006

Related Documents

Sistem Basis Data
May 2020 14
Basis Data
December 2019 50
Basis Data
May 2020 26
Basis Data
July 2020 34

More Documents from ""