Perancangan Database
Masih ingatkah Anda tentang ER Diagram ?
Versi ERD Peter Chen Entitas Nama_relasi James Martin Atribut Relasi (MIN,MAX) Peter Chen Nama_entitas Atribut 1 Atribut 2 .. Atribut N Nama_relasi James Martin
Derajat Max/Min Relasi Derajat relasi maksimum, yaitu yang menunjukan hubungan (korespondensi) maksimum yang boleh terjadi antara himpunan entitas yang satu terhadap himpunan entitas yang lain. Derajat relasi minimum, yaitu yang menunjukan hubungan (korespondensi) minimum yang boleh terjadi antara himpunan entitas yang satu terhadap himpunan entitas yang lain. Derajat Max/Min Notasi ( 0 , N ) atau ( 1 , N ) ( 1 , 1 ) ( 0, 1 )
Transformasi Model Data ke Basis Data Fisik Secara umum, sebuah Diagram E-R akan direpresentasikan menjadi sebuah basis data secara fisik. Sedangkan komponen-komponen Diagram E-R yang berupa himpunan entitas dan himpunan relasi akan ditransformasikan menjadi tabel-tabel (file-file data) yang merupakan komponen utama pembentuk basis data. Selanjutnya, atribut-atribut yang melekat pada masing-masing himpunan entitas dan himpunan relasi akan dinyatakan sebagai field-field dari tabel-tabel yang sesuai.
Transformasi Model Data ke Basis Data Fisik Transformasi Umum/Dasar Aturan umum dalam pemetaan Model Data (Level Konseptual dalam Abstraksi Data) yang digambarkan dengan Diagram E-R menjadi Basis Data Fisik (Level Fisik dalam Abstraksi Data) adalah: Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel (file data) Nama_mk KdMK MATAKULIAH TABEL MATA KULIAH SKS semester
ER Diagram (ERD) E-R Diagram With Composite, Multivalued, and Derived Attributes Tabel PEGAWAI NoKTP NmDepan Inisial NmBlk JenisKel Alamat Gaji Atribut komposit nama tidak menjadi field/kolom pada tabel PEGAWAI, tetapi yg dimasukkan adalah bagian simple attributnya.
Relasi dengan Derajat relasi 1:1 (satu ke satu) yang menghubungkan 2 buah himpunan entitas akan direpresentasikan dalam bentuk penambahan/penyertaan atribut-atribut relasi ke tabel yang mewakili salah satu dari kedua himpunan entitas.
field-field yang ditumbuhkan dari relasi Mengajar Relasi dengan Derajat relasi 1-N (satu ke banyak) yang menghubungkan 2 buah himpunan entitas, juga akan direpresentasikan dalam bentuk pemberian/pencantuman atribut key dari himpunan entitas pertama (yang berderajat 1) ke tabel yang mewakili himpunan entitas kedua (yang berderajat N). Atribut key dari himpunan entitas pertama ini menjadi atribut tambahan bagi himpunan entitas kedua field-field yang ditumbuhkan dari relasi Mengajar
MAHASISWA daftar JURUSAN miliki DOSEN 1 1 n JURUSAN miliki DOSEN 10
Tabel khusus yang mewakili himpunan relasi Relasi dengan Derajat relasi N-N (banyak ke banyak) yang menghubungkan 2 buah himpunan entitas, akan diwujudkan dalam bentuk tabel (file data) khusus, yang memiliki field (tepatnya foreign key) yang berasal dari key-key dari himpunan entitas yang dihubungkannya. Tabel khusus yang mewakili himpunan relasi
nilai n m MAHASISWA ambil MATAKULIAH TABEL MHSW-MK 12
Contoh Implementasi Data Table
DEPENDENT EMPLOYEE PROJECT
Studi kasus Perancangan Database
Tahap Pembuatan Database Tahap 1: Tentukan entities (object-object dasar) yang perlu ada di database Tahap 2: Tentukan attributes (sifat-sifat) masing-masing entity sesuai kebutuhan database Tahap 3: Tentukan relationships (hubungan-hubungan) di antara entities tersebut Tahap 4: Pembuatan ERD Tahap 5: Proses normalisasi database Tahap 6: Implementasi Database
Penjualan : Pelanggan, Penjualan, Barang Persediaan : Barang, Kategori Tahap 1: Tentukan entities (object-object dasar) yang perlu ada di database Penjualan : Pelanggan, Penjualan, Barang Persediaan : Barang, Kategori Pembeliaan : Pemasok, Pembeliaan
Tahap 2: Tentukan attributes (sifat-sifat) masing - Tahap 2: Tentukan attributes (sifat-sifat) masing - masing entity sesuai kebutuhan database Pelanggan : kd_plg, nm_plg, tgl_lahir, gol_dar, jns_klm, alm_plg, kota, kd_pos, no_telp Penjualan : No_faktur, tgl_faktur Obat : kd_brg, merk, tgl_kedaluarsa, jumlah, satuan, harga Kategori : kd_ktg, nm_ktg Pemasok : kd_pemasok, nm_pemasok, ct_prsn, no_telp, no_fax Pembeliaan : No_order, tgl_order
Pelanggan – penjualan Penjualan – Barang Barang - Kategori Tahap 3 : Tentukan relationships (hubungan - hubungan) di antara entities tersebut Pelanggan – penjualan Penjualan – Barang Barang - Kategori Barang – pembeliaan Pembeliaan – pemasok
Pelanggan – penjualan Satu konsumen meminta satu atau banyak nomor faktur penjualan obat, satu atau banyak nomor faktur penjualan obatdapat diminta oleh satu dan hanya satu konsumen
Penjualan – Barang Satu nomor faktur penjualan obat mencatat satu atau banyak obat, satu obat dicatat pada nol, satu, atau banyak nomor faktur penjualan.
Barang - Kategori Satu atau banyak obat dimiliki oleh satu dan hanya satu kategori, satu kategori memiliki satu atau banyak obat.
Barang – pembeliaan Satu nomor faktur pembelian obat mencatat satu atau banyak obat, satu obat dicatat pada satu atau banyak nomor faktur penjualan.
Pembeliaan – pemasok Satu Supplier mendapatkan satu atau banyak nomor faktur pembelian obat, satu atau banyak nomor faktur pembelian obat didapatkan dari satu dan hanya satu supplier.
ERD Lengkap Penjualan Obat
Tahap 6: Implementasi Database Spesifikasi Tabel Konsumen Field name Data type size Null / not null Descrption Kd Plg [PK] Int - Not null Otomatis bertambah dimulai dari 1000, 1001… Nm_plg Char 35 Not Null Nama Lengkap Pelanggan Jns_klm 1 Hanya Boleh diisi satu karakter yaitu : L/P Alm_plg 40 Alamat Pelanggan (nama jalan/lorong dan nmr rumah) Kota 15 Ketika tidak diisi secara otomatis field kota akan terisi dengan kota Palembang namun bila pelanggan mengisi, field kota sesuai dengan yang di isi oleh pelanggan Kd_pos 7 Kode Pos Pelanggan No_tlp 12 Nomor Telepon pelanggan
Tahap 6: Implementasi Database Spesifikasi Tabel Obat Field name Data type size Null / not null Descrption No_obat [PK] Int - Not null Otomatis bertambah dimulai dari 1000, 1001… Merk varchar 35 Not Null Nama Lengkap Pelanggan Tgl_kedaluars datetime Tanggal kedaluarsa obat Jumlah Jumlah persediaan Obat Satun 20 Jenis satuan obat Harga Harga obat ditambah dengan keuntungan
Tahap 6: Implementasi Database Spesifikasi Tabel Beli_Obat Field name Data type size Null / not null Descrption Jml_beli Int - Not null Jumlah pembelian per item produk obat yang dibeli Hara_beli int Not Null Harga dasar sebelum ditambah dengan keuntungan Kd_obat Berelasi dengan kd_obat pada tabel obat No_beli Berelasi dengan no_beli pada tabel pembelian Spesifikasi Tabel Jual_Obat Field name Data type size Null / not null Descrption Jml_jual Int - Not null Jumlah penjualan per item produk obat yang dijual Hara_jual Not Null Harga pada saat penjualan ditambah keuntungan Kd_obat Berelasi dengan kd_obat pada tabel obat No_Fak Berelasi dengan no_fak pada tabel penjualan
Tahap 6: Implementasi Database Spesifikasi Tabel Penjualan Field name Data type size Null / not null Descrption No_fak Int - Not null Otomatis bertambah dimulai dari 1000, 1001… Tgl_jual Char 35 Not Null Tanggal dilakukan penjualan barang Kd_plg Berelasi dengan kd_plg pada tabel pelanggan Spesifikasi Tabel Pembelian Field name Data type size Null / not null Descrption No_beli Int - Not null Otomatis bertambah dimulai dari 1000, 1001… Tgl_beli Char 35 Not Null Tanggal dilakukan pembelian barang Kd_spl Berelasi dengan kd_spl pada tabel supplier
Tahap 6: Implementasi Database Spesifikasi Tabel Kategori Field name Data type size Null / not null Descrption No_ktg [PK] Int - Not null Otomatis bertambah dimulai dari 100, 101… Nm_ktg Char 35 Not Null Nama Lengkap Pelanggan Spesifikasi Tabel Suppier Field name Data type size Null / not null Descrption No_spl [PK] Int - Not null Otomatis bertambah dimulai dari 1000, 1001… Nm_spl Varchar 35 Not Null Nama Lengkap Pelanggan Ct_prsn 40 Nama personal dari perusahaan yang dapat dihubungi No_tlp 12 Nomor telepon. Tidak boleh diisi huruf, harus angka No_fax Nomor fak. Tidak boleh diisi huruf, harus angka
Tugas Perancangan Database
Buatlah Perancangan databasenya ! Sebuah perpustakaan kampus sedarhana memiliki aturan-aturan sebagai berikut : 1. Sebuah perpustakaan memiliki Buku yang dapat dipinjam olehAnggota perpustakaan. Anggota dapat meminjam Buku pada perpustakaan lebih dari satu buku dalam sekali peminjaman. Buku dengan judul yang sama juga dapat dipinjam oleh lebih dari satu anggota. Pada buku yang harus di catat adalah NoBuku, Judul, Pengarang, Penerbit, Tahun terbit dan Jenis buku (majalah,Kumpulan atrikel, novel, komik, iptek, sekolah, dll), Status (tidak ada/sedang dipinjam, ada diperpustakkan) yang diturunkan/dicari/dihitung dari jumlah buku. Pada anggota yang harus dicatat adalah nomor anggota, NRP, Nama, Alamat, Kota, No telepon, tanggal lahir dan Jurusan. Pada setiap terjadi transaksi peminjaman maka dicatat tanggal pinjam, tanggal kembali dan jumlah buku yang dipinjam. Buatlah Perancangan databasenya ! Chapter 8 - Process Modeling