Wiji Setiyaningsih, S.Kom .::Model Data ::. Menyatakan hubungan antardata dalam database Ada tiga macam model data dasar Hierarkis Jaringan Relasional Model Hierarkis Dikenal pula sebagai model pohon Contoh: IMS Dosen Siti Nurbaya Pengantar Basis Data Rudi Asti Dosen Ashadi Pemrograman C Dina Dina Edi Matematika I Ita Edi Model Jaringan Disebut juga model CODASYL Setiap anak bisa memiliki lebih dari satu orangtua Contoh: IDMS Dosen Siti Nurbaya Pengantar Basis Data Rudi Asti Dosen Ashadi Pemrograman C Dina Edi Matematika I Ita Model Relasional Merupakan model data yang paling populer saat ini Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau tabel) Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel lain Nama Dosen Kelas Nama MHS Siti Nurbaya Pengantar Basis Data Rudi Siti Nurbaya Pengantar Basis Data Asti Siti Nurbaya Pengantar Basis Data Dina Siti Nurbaya Pemrograma nC Dina Siti Nurbaya Pemrograma nC Edi Ashadi Matematika I Ita Ashadi Matematika I Edi Model Relasional (Lanjutan…) NO_MHS NAMA_MHS KODE_MK NAMA_MK 55 Ashadi DB001 Pengantar Basis Data 56 Rina DB002 Basis Data Lanjut PI001 Teknik Multimedia 57 Budi NO_MHS KODE_MK NILAI 55 DB001 A 55 PI001 B 56 DB001 B 57 DB001 A 57 DB001 A Model Relasional (Lanjutan…) Kardinalitas Relasi atau tabel NO_MHS KODE_MK NILAI 55 DB001 A 55 PI001 B 56 DB001 B 57 DB001 A 57 DB001 A Atribut atau kolom Sebuah baris atau tuple Domain NILAI (A, B, C, D, E) Model Relasional (Lanjutan…) Beberapa sifat yang melekat dalam relasi: Tidak ada baris yang kembar Urutan tupel tidak penting Setiap atribut memiliki nama yang unik Letak atribut bebas Setiap atribut memiliki nilai tunggal dan jenisnya sama untuk semua baris Pengembangan database biasa dimulai dengan enterprise data modeling Enterprise data modeling digunakan untuk menentukan lingkup dan isi umum dari database perusahaan Langkah ini dilakukan pada masa perencanaan sistem infomasi PELANGGAN PRODUK Memberikan Memiliki Ditujukan untuk Diberikan oleh Terletak dalam PESANAN Berisi BARIS PESANAN Proses pengembangan database merupakan bagian dari pengembangan sistem Dalam praktek, seringkali pengembangan database menggunakan pendekatan bottom-up Pada pendekatan bottom-up, permintaan terhadap proyek dimulai dari permintaan oleh pemakai sistem informasi atau profesional IT yang melihat perlunya perubahan pada manajemen data Salah satu metodologi yang umum dipakai dalam pengembangan database (pengembangan sistem) yaitu SDLC SDLC (System Development Life Cycle) merupakan metodologi tradisional yang dipakai untuk mengembangkan dan memelihara sistem informasi Identifikasi dan Pemilihan Proyek Inisiasi dan Perencanaan Proyek Analisis Perancangan Logis Perancangan Fisik Implementasi Perawatan Enterprise modeling •Analisa pemrosesan data sekarang •Analisa fungsi-fungsi bisnis dan kebutuhan database •Penentuan data dan database baru untuk mendukung bisnis Conceptual data modeling •Identifikasi lingkup kebutuhan database •Analisa kebutuhan seluruh data untuk bisnis yang didukung database •Pengembangan model data konseptual dini, termasuk entitas dan hubungan •Pembandingan model data konseptual dengan enterprise data model •Pengembangan model data konseptual detail (mencakup entitas, hubungan, atribut, dan aturan bisnis) •Membuat model data konseptual yang konsisten terhadap model sistem informasi Logical database design •Analisa terhadap transaksi, formulir, query (database view) yang diperlukan fungsi-fungsi bisnis •Mengintegrasikan database view ke dalam model data konseptual •Mengidentifikasi kebutuhan integritas dan keamanan Physical database design and creation •Pendefinisian database dalam DBMS •Penentuan organisasi data secara fisik •Perancangan program pemroses database Database implementation •Mengkodekan dan menguji program •Menyelesaikan dokumentasi database dan materi pelatihan •Memasang database dan mengonversi data Database Maintenance •Analisa database dan aplikasi database terhadap kebutuhan informasi •Pengaturan database untuk meningkatkan kinerja •Pembetulan kesalahan Tiga Tahap Penting dalam Perancangan Database Perancangan secara konseptual Diagram konteks DFD Model ER Perancangan secara logis Translasi model ER ke Model Relasional Perancangan secara fisik Penciptaan database, relasi, dan hal-hal terkait ke dalam bentuk fisik 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: o Orang: MAHASISWA, DOSEN, PEMASOK, PENJUAL o Benda: MOBIL, MESIN, RUANGAN o Tempat: NEGARA, DESA o Kejadian: PENJUALAN, REGISTRASI o 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 Yogya 02004 Joni Setiawan Jl. Kemenangan 76 Bantul 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 Tipe Entitas dan Instan Entitas 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 Atribut (Lanjutan..) Atribut nilai tunggal (single-valued) dan nilai berganda (multivalued attribute) Atribut nilai berganda adalaah atribut yang berkemungkinan memiliki nilai lebih dari satu Contoh: Nomor_Telpon, 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: a) One to One b) One to Many c) Many to One d) 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 PEMASOK Mengirim PELANGGAN Mengirim Memasok PESANAN KIRIMAN Memasok BARANG Digunakan_ pada Berisi PRODUK Simbol dalam Diagram E-R ENTITAS Kardinalitas: 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 Hubungan pengidentifikasi Atribut nilai berganda Atribut turunan Contoh Diagram E-R dengan Atribut Komposit, Nilai Berganda, dan Turunan Derajat Hubungan Unary Binary Ternary Contoh Unary Relationship ORANG Menikah_dengan SUKU_CADANG PEGAWAI Tersusun_atas Membawahi Contoh Binary Relationship ORANG Diberi_jatah TEMPAT PARKIR PEGAWAI Bekerja_pada DEPARTEMEN MAHASISWA Mengambil MATA KULIAH Contoh Ternary Relationship PEMASOK Memasok 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 PASIEN Mempunyai PASIEN Mempunyai KUNJUNGAN (a) Dasar hubungan KUNJUNGAN (b) Hubungan dengan kekangan kardinalitas Contoh: Amir Dewi Fahmi Kunjungan 1 Kunjungan 2 Kunjungan 1 Kunjungan 1 Kunjungan 2 Contoh Penerapan Kekangan Kardinalitas (Lanjutan…) PEGAWAI Ditugaskan_ke PEGAWAI Ditugaskan_ke PROYEK (a) Dasar hubungan PROYEK (b) Hubungan dengan kekangan kardinalitas Contoh: Amir Dewi Fahmi Sueb Proyek 1 Proyek 2 Proyek 3 Proyek 4 Proyek 5 Contoh Penerapan Kekangan Kardinalitas yang Menggunakan Bentuk Lain Bagaimana Kekangan Kardinalitasnya? ORANG Menikah_dengan SUKU_CADANG PEGAWAI Tersusun_atas Membawahi Bagaimana Kekangan Kardinalitasnya? ORANG Diberi_jatah TEMPAT PARKIR PEGAWAI Bekerja_pada DEPARTEMEN MAHASISWA Mengambil 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 PEGAWAI Nama_Peg Memiliki Nama_Tanggungan Tanggal_Lahir TANGGUNGAN Contoh Lain Entitas Lemah Pada universitas, MATAKULIAH adalah entitas kuat, sedangkan MATAKULIAH DITAWARKAN adalah entitas lemah 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.