Pemodelan Data dan Proses Pengembangan Database 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 Dosen Ashadi Pengantar Basis Data Pemrograman C Matematika I Rudi Asti Dina Dina Edi Ita Edi
Model Jaringan Disebut juga model CODASYL Setiap anak bisa memiliki lebih dari satu orangtua Contoh: IDMS Dosen Siti Nurbaya Dosen Ashadi Pengantar Basis Data Pemrograman C Matematika I Rudi Asti Dina Edi 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 Asti Dina Pemrograman C Edi Ashadi Matematika I Ita
Model Relasional (Lanjutan…) NO_MHS NAMA_MHS 55 Ashadi 56 Rina 57 Budi KODE_MK NAMA_MK DB001 Pengantar Basis Data DB002 Basis Data Lanjut PI001 Teknik Multimedia NO_MHS KODE_MK NILAI 55 DB001 A PI001 B 56 57
Model Relasional (Lanjutan…) Relasi atau tabel NO_MHS KODE_MK NILAI 55 DB001 A PI001 B 56 57 Sebuah baris atau tuple Kardinalitas Domain NILAI (A, B, C, D, E) Atribut atau kolom
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 dalam Pengembangan Sistem Informasi 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
Contoh penggalan Enterprise Data Modeling PELANGGAN PRODUK Memberikan Memiliki Ditujukan untuk Diberikan oleh PESANAN Terletak dalam BARIS PESANAN Berisi
Proses Pengembangan Database 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 SDLC (System Development Life Cycle) merupakan metodologi tradisional yang dipakai untuk mengembangkan dan memelihara sistem informasi
SDLC – dari Sisi Pengembangan Database 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: 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 ekum 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
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
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: 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
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 KUNJUNGAN (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
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.