BAB 3 DATA MODELING
DATA MODELING Proses menggambarkan kebutuhan data pada suatu aplikasi/ permasalahan Meliputi proses pengumpulan dan analisis kebutuhan informasi Umumnya menggunakan Entity Relationship Diagram Cikal bakal database
KONSEP DASAR ERD (Crow’s Foot Notation) Minimum cardinality (inside symbol) pelanggan penjualan ID Nama Alamat Memiliki transaksi NoBon Tanggal Jumlah Zero cardinality many cardinality One cardinality
KONSEP DASAR ERD (Chen Notation) Nobon Tanggal Jumlah ID Alamat Nama Memiliki transaksi PELANGGAN (0:N) (1:1) PENJUALAN Minimum cardinality Maximum cardinality
WEAK ENTITIES Terjadi jika suatu entity sangat bergantung kepada entity yang lain. Gedung ruangan ID Gedung Alamat Terdiri dari NoRuang Kapasitas Contoh lainnya ?
RELATIONSHIP ATTRIBUT Suatu relationship juga dapat memiliki atribut (umumnya pada many to many/ M-N relationship) supplier Bahan baku ID Nama Alamat menyediakan Kode Namabhn jumlah
SELF REFERENCING Relationship yang terjadi pada entitas itu sendiri ID Nama Alamat karyawan membawahi
ASSOCIATIVE ENTITY Entity yang muncul karena adanya relationship dari dua entitas (merupakan weak entity juga). Merupakan bentuk lain dari 2 entity dengan M-N relationship IDDokter Nama Alamat Dokter IdPasien Pasien Pemeriksaan melakukan mengalami
GENERALIZATION HIERARCHIES Menggambarkan beberapa entitas yang saling berhubungan karena memiliki atribut sejenis, sehingga dapat memiliki entitas “induk” (supertype) yang sama. Misal: Entitas “Civitas Akademik” terdiri dari 2 entitas, yaitu entitas “Mahasiswa” dan “Dosen”
CONTOH D, C Item ID Nama HargaJual Barang Jasa Hargabeli Stok disjointness completeness Seluruh attribut pada entitas supertype di”wariskan” (inherit) kepada entitas “anak” (subtype)
ERD STEPS Identifying Entity Type Determining Primary Keys Adding Relationship Determining Cardinality
CONTOH KASUS Sistem Penanganan Pengiriman paket di perusahaan ekspedisi (kurir/ titipan kilat) Sistem Akademik di perguruan tinggi Sistem Rawat Inap di rumah sakit
REFINEMENT OF ERD Repetitive process (especially for large database) To get more solid ERD Some possible Refinement: Transforming Attribute into Entity Splitting compound attributes into smaller attributes Expanding Entity Types Transforming Weak Entity to Strong Entity Adding History
Transforming Attributes into Entity Types jadwal RUANG IDJadwal IDMtKuliah Kelas IDDosen Hari Jam NoRuang NoRuang JenisRuang Kapasitas … jadwal menggunakan IDJadwal IDMtKuliah Kelas IDDosen Hari Jam NoRuang Attribute “noRuang” into Entity “Ruang”
Splitting Compound Attributes into Smaller Attributes Pelanggan Pelanggan IDPlgnl Nama NmJalan Kota KodePos …. IDPlgn Nama Alamat … Dosen Dosen IDDosen Nama Alamat … IDDosen Nama GelarDepan GelarBlkng Alamat
Expanding Entity Types KOMISI Komisi Tarif IDKomisi Keterangan TarifKomisi IDKomisi TglBerlaku Keterangan JmlMinimal JmlMax TarifKomisi memiliki
Transforming Weak Entity into a Strong Entity Komisi Tarif IDKomisi TglBerlaku Keterangan JmlMinimal JmlMax TarifKomisi memiliki Komisi Tarif IDKomisi TglBerlaku Keterangan NoUrut JmlMinimal JmlMax TarifKomisi memiliki
ADDING HISTORY Karyawan Karyawan RiwJabatan NIP Nama Alamat Jabatan NOurut TglMulai TglSelesai Jabatan
ERD CONVERSION RULE (ERD to Table) Entity Type becomes a table One-to-many relationship become foreign key in a table, corresponding to the child type Many-to-many relationship becomes separate table, Primary of the table is a combined key between primary of entity type participating in M-N relationship
PROJECT ASSIGNMENT Ketentuan Umum: Ketentuan Khusus: Dibuat secara individual/ berkelompok (maks 3 orang) Dikumpulkan paling lambat sebelum UTS, berupa print-out Ketentuan Khusus: Pelajarilah sebuah sistem yang ada dalam kehidupan nyata (pekerjaan, pengalaman sbg konsumen, dll) Buatlah rincian pengguna informasinya (user), dan beberapa contoh kebutuhan informasi dari masing-masing user tsb. Contoh sistem penjualan terdiri dari user: Manager penjualan, membutuhkan informasi a.l: top salesmen, rekap penjualan per wilayah, brg paling laku, dll Manager akunting, membutuhkan informasi a.l: total piutang, kredit macet, dll
PROJECT ASSIGNMENT Buatlah data model (ERD) untuk kasus yang dipilih Konversikan ERD ke dalam relational table (database) Buatlah perintah query untuk masing-masing kebutuhan informasi yang teridentifikasi untuk setiap user