Analisis Database
Entitas Sebuah database dapat dimodelkan sebagai sekumpulan entitas Hubungan antarentitas Entitas (entity) adalah sebuah objek yang keberadaannya dapat dibedakan terhadap objek lain Entitas dapat berupa orang, benda, tempat, kejadian, konsep Contoh: Orang: MAHASISWA, DOSEN, PEMASOK, PENJUAL Benda: MOBIL, MESIN, RUANGAN Tempat: NEGARA, DESA Kejadian: PENJUALAN, REGISTRASI Konsep: REKENING, KURSUS
Entitas (Lanjutan…) Sebuah entitas memiliki sejumlah atribut Contoh: mahasiswa memiliki nama dan alamat Himpunan entitas adalah sekumpulan entitas yang berbagi atribut yang sama Contoh: sekumpulan mahasiswa, dosen, atau perusahan Nomor_Mhs Nama_Mhs Alamat_Mhs Kota_Mhs 02001 Dian Jl. Kenanga 23 Yogya 02002 Fika Ariyanti Jl. Griya Utama II/2 Sleman 02003 Komarudin Jl. Kakaktua 12 02004 Joni Setiawan Jl. Kemenangan 76 Bantul ekum
Entitas (Lanjutan…) Untuk membedakan antara entitas sebagai kumpulan data dan sebuah entitas terdapat istilah tipe entitas dan instan entitas Tipe entitas disebut juga himpunan entitas Instan entitas adalah sebuah kemungkinan data dalam sebuah tipe entitas ekum
Tipe Entitas dan Instan Entitas ekum
Atribut Atribut adalah sifat atau karakteristik yang melekat dalam sebuah entitas Contoh: MAHASISWA = (Nomor_Mhs, Nama_Mhs, Alamat_Mhs, Kota_Mhs) MOBIL = (Kode_Mobil, Nama_Mobil, Cc) Domain menyatakan kemungkinan nilai untuk sebuah atribut
Atribut (Lanjutan..) Atribut Sederhana versus atribut komposit Atribut sederhana tidak bisa dipecah menjadi bagian yang lebih kecil lagi Atribut komposit adalah atribut yang dapat dipecah menjadi komponen yang lain Alamat: Alamat_Jalan, Kota, Kode_Pos Nama: Nama_Depan, Nama_Tengah, Nama_Belakang Contoh Atribut komposit
Atribut (Lanjutan..) Atribut nilai tunggal (single-valued) dan nilai berganda (multivalued attribute) Atribut nilai berganda adalah atribut yang berkemungkinan memiliki nilai lebih dari satu Contoh: Nomor_Telepon, Ketrampilan_Pemrograman
Atribut (Lanjutan..) Atribut tersimpan dan atribut turunan (derived attribute) Atribut tersimpan adalah atribut yang secara eksplisit tersimpan dalam database Atribut turunan adalah atribut yang nilainya dapat dikalkulasi dari nilai atribut tersimpan Contoh: Lama_Bekerja dapat dihitung dari Tgl_Mulai_Bekerja Usia bisa dihitung dari Tgl_lahir
Hubungan Hubungan (relationship) adalah pengait antara beberapa tipe entitas Derajat hubungan menyatakan jumlah tipe entitas yang terkait dalam sebuah hubungan Hubungan yang melibatkan dua buah tipe entitas dinamakan hubungan biner Umumnya, hubungan dalam database berupa hubungan biner
Tipe Hubungan Jenis hubungan antara dua tipe entitas: One to One One to Many Many to One Many to Many (c) (d)
Diagram E-R Diagram E-R (Entity-Relationship) biasa digunakan dalam tahap analisis perancangan database Digunakan sebagai perangkat untuk berkomunikasi antara pengembang database dengan pengguna
Diagram E-R Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam suatu organisasi Tidak bergantung kepada software yang akan dipakai untuk mengimplementasikan database Sejauh ini banyak sekali model notasi yang dipakai untuk membuat diagram E-R
Contoh Diagram E-R PELANGGAN Mengirim PEMASOK Mengirim Memasok PESANAN KIRIMAN BARANG Berisi Digunakan_ pada PRODUK
Arti Hubungan Beberapa barang digunakan untuk Produk Pelanggan tidak mengirim pesanan BARANG Digunakan_ pada PRODUK PELANGGAN Mengirim PESANAN
Simbol dalam Diagram E-R Kardinalitas: ENTITAS Selalu hanya satu Hubungan Satu atau banyak Nol atau satu Atribut Nol, satu, atau banyak Garis bawah: Kunci atau pengenal (identifier)
Contoh Diagram E-R
Simbol Lain-Lain Entitas kuat Entitas asosiatif Entitas lemah Atribut Hubungan Atribut nilai berganda Hubungan pengidentifikasi Atribut turunan
Contoh Diagram E-R dengan Atribut Komposit, Nilai Berganda, dan Turunan
Derajat Hubungan Unary Binary Ternary
Contoh Unary Relationship Menikah_dengan Membawahi ORANG PEGAWAI Tersusun_atas SUKU_CADANG
Contoh Binary Relationship Diberi_jatah ORANG TEMPAT PARKIR Bekerja_pada PEGAWAI DEPARTEMEN Mengambil MAHASISWA MATA KULIAH
Contoh Ternary Relationship Memasok PEMASOK GUDANG BARANG Sebuah Pemasok memasok sejumlah barang pada beberapa gudang Sebuah barang bisa dipasok oleh beberapa Pemasok
Kardinalitas Hubungan Selalu hanya satu Satu atau banyak Nol atau satu Nol, satu, atau banyak
Kekangan Kardinalitas Jenis hubungan antartipe entitas seringkali dinyatakan tidak sekedar dalam bentuk berupa One to One, One to Many, Many to One, dan Many to Many, melainkan juga dengan menyertakan kekangan kardinalitas Kekangan kardinalitas (cardinality constraint) adalah suatu keadaan yang digunakan untuk menyatakan jumlah instan dalam sebuah entitas yang dapat dikaitkan dengan sebuah instan pada entitas lain Implementasinya adalah dengan menggunakan kardinalitas hubungan yang dijelaskan pada slide sebelum ini
Kekangan Kardinalitas (Lanjutan…) Berkaitan dengan kekangan kardinalitas, terdapat istilah kardinalitas minimum dan kardinalitas maksimum Kardinalitas minimum adalah jumlah instan tersedikit dalam sebuah entitas yang mungkin dikaitkan dengan setiap instan pada entitas lain Kardinalitas maksimum adalah jumlah instan terbanyak dalam sebuah entitas yang mungkin dikaitkan dengan setiap instan pada entitas lain
Contoh Penerapan Kekangan Kardinalitas Mempunyai PASIEN KUNJUNGAN (a) Dasar hubungan Mempunyai PASIEN SEJARAH PASIEN (b) Hubungan dengan kekangan kardinalitas Contoh: Kunjungan 1 Amir Kunjungan 2 Dewi Kunjungan 1 Fahmi Kunjungan 1 Kunjungan 2
Contoh Penerapan Kekangan Kardinalitas (Lanjutan…) Ditugaskan_ke PEGAWAI PROYEK (a) Dasar hubungan Ditugaskan_ke PEGAWAI PROYEK (b) Hubungan dengan kekangan kardinalitas Contoh: Proyek 1 Amir Proyek 2 Dewi Proyek 3 Fahmi Proyek 4 Sueb Proyek 5
Contoh Penerapan Kekangan Kardinalitas yang Menggunakan Bentuk Lain
Bagaimana Kekangan Kardinalitasnya? Menikah_dengan Membawahi ORANG PEGAWAI Tersusun_atas SUKU_CADANG
Jawaban Kekangan Kardinalitasnya : Menikah_dengan Membawahi ORANG PEGAWAI Tersusun_atas SUKU_CADANG
Bagaimana Kekangan Kardinalitasnya? Diberi_jatah ORANG TEMPAT PARKIR Bekerja_pada PEGAWAI DEPARTEMEN Mengambil MAHASISWA MATA KULIAH
Entitas Lemah Entitas kuat versus entitas lemah Entitas kuat (strong entity) adalah entitas yang keberadaannya tidak bergantung pada tipe entitas lain Entitas lemah (weak entity) adalah entitas yang keberadaannya bergantung pada tipe entitas lain Entitas yang menjadi ketergantungan dari entitas lemah dinamakan indentifying owner Hubungan antara tipe entitas lemah dan pemiliknya dinamakan identifying relationship
Entitas Lemah (Lanjutan…) Nomor_Peg Nama_Peg Nama_Tanggungan Tanggal_Lahir Memiliki PEGAWAI TANGGUNGAN
Contoh Lain Entitas Lemah Pada universitas, MATAKULIAH adalah entitas kuat, sedangkan MATAKULIAH DITAWARKAN adalah entitas lemah
Contoh Soal tentang Diagram E-R Matakuliah diselenggarakan di sebuah universitas dinyatakan dalam entitas MATAKULIAH dengan atribut Kode_Matakuliah (sebagai pengenal), Nama_Matakuliah, dan Sks. Setiap matakuliah bisa memiliki satu atau lebih matakuliah lain yang menjadi prasyaratnya, tetapi bisa juga tidak memiliki matakuliah prasyarat.
Jawaban Kekangan Kardinalitasnya Matakuliah Prasyarat Matakuliah
CONTOH (STUDI KASUS SEDERHANA) Untuk keperluan penjelasan konsep dan penggunaan ER-Model, digunakan satu contoh database “COMPANY” yang didalamnya mencatat: data pegawai (Employees) data departemen(Departements) data proyek (Projects)
Penjelasan dari sebagian data COMPANY yang diperoleh setelah fase “Requirement Collection and Analysis” sbb: 1. Company terdiri dari beberapa departments.Setiap department mempunyai satu nama yang unik,nomer yang unik, dan seorang pegawai(employee) bertindak sebagai manager dari department .Tanggal mulai bekerja dari manager juga dicatat dalam database (Tgl pengangkatan sebagai manager).Satu department dapat tersebar disejumlah lokasi.
2. Suatu department dapat mengendalikan sejumlah project,setiap project mempunyai satu nama yang unik,nomor yang unik, dan satu lokasi tertentu. 3. Data pegawai yang perlu dicatat berupa:nama,social security number,address, salary, sex dan birthdate. Seorang pegawai ditempatkan di satu department,tetapi dapat bekerja disejumlah project yang tidak harus dikendalikan oleh department dimana pegawai tersebut ditempatkan. Jumlah jam perminggunya dari pegawai yang bekerja pada suatu project perlu dicatat, juga perlu dicatat supervisor langsung dari setiap pegawai.
4. Untuk tujuan/keperluan asuransi pegawai, maka perlu dicatat anggota keluaraga dari setiap pegawai. Data yang dicatat berupa: nama anggota keluarga, sex, birthdate dan hubungan keluarga (relationship).
(PR Dikumpulkan Minggu Depan) Gambarkan satu ER-Diagram dari satu set „requirements“ untuk keperluan database suatu universitas yang digunakan untuk menyimpan transkrip dari mahasiswa: 1. Universitas mencatat data setiap mahasiswa yang berupa: nama,nomor pokok, nomor KTP, alamat tetap, alamat sementara, tgl-lahir, jenis kelamin, nama jurusan, program pendidikan (Diploma Tiga, Sarjana, Pasca Sarjana).Sejumlah user dari aplikasi yang dibuat juga perlu untuk mengacu pada nama kota, propinsi dan kode pos dari alamat tetap mahasiswa, dan juga nama orang tua dari setiap mahasiswa.Nomor KTP dan nomor pokok unik untuk setiap mahasiswa.
2. Setiap jurusan dijelaskan berdasarkan nama, kode jurusan , kode kantor, nomor telepon.Kode dan nama jurusan mempunyai nilai-nilai yang unik. 3. Setiap mata kuliah mempunyai kode, nama, jumlah sks, dan jurusan penyelenggara, kode mata kuliah unik untuk setiap mata kuliah yang ada.
4. Setiap mata kuliah yang ditawarkan dalam setip semester diidentifikasikan sebagai „section“, yang setiap section mempunyai nomor/kode dosen, semester, tahun, mata kuliah, dan nomor section. Nomor section membedakan sejumlah section yang mempunyai nama mata kuliah yang sama yang ditawarkan pada semester/tahun yang sama (nilainya adalah 1,2,3 .... s/d jumlah section yang ditawarkan dalam satu semester). 5. Laporan nilai prestasi belajar (Transkip) berisikan nama mahasiswa , section, serta nilai angka dan nilai huruf (0,1,2,3, atau 4).