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 Siti Nurbaya Pengantar
Basis Data Asti Siti Nurbaya Pengantar
Basis Data Dina Siti Nurbaya Pemrograma
n C
Dina
Siti Nurbaya Pemrograma n C
Edi Ashadi Matematika I Ita Ashadi Matematika I Edi
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
55 PI001 B
56 DB001 B
57 DB001 A
57 DB001 A
Model Relasional (Lanjutan…)
NO_MHS KODE_MK NILAI
55 DB001 A
55 PI001 B
56 DB001 B
57 DB001 A
57 DB001 A
Relasi atau tabel
Sebuah baris atau
tuple
Atribut atau kolom Kardinalit
as
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
PESANAN BARIS
PESANAN PRODUK
Memberika n
Diberikan oleh
Berisi
Terletak dalam
Memiliki
Ditujukan untuk
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 perusahanNomor_Mhs02001 Nama_MhsDian Alamat_MhsJl. Kenanga 23 Kota_MhsYogya
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
Memasok
BARANG Mengirim
KIRIMAN Memasok
PEMASOK
Digunakan_
pada PRODUK
Berisi PESANAN Mengirim PELANGGAN
Simbol dalam Diagram E-R
ENTITAS
Hubungan
Kardinalitas:
Selalu hanya satu
Satu atau banyak Nol atau satu
Nol, satu, atau banyak
Atribut
Garis bawah:
Kunci atau pengenal (identifier)
Contoh Diagram E-R
Simbol Lain-Lain
Entitas kuat
Entitas lemah
Hubungan
Hubungan
pengidentifikasi
Entitas asosiatif
Atribut
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 PEGAWAI Membawahi
SUKU_CADANG Tersusun_atas
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
(b) Hubungan
dengan kekangan kardinalitas
Mempunyai
PASIEN KUNJUNGAN
Contoh:
Amir Dewi Fahmi
Kunjungan 1Kunjungan 2 Kunjungan 1 Kunjungan 1 Kunjungan 2
Contoh Penerapan Kekangan Kardinalitas (Lanjutan…)
Ditugaskan_ke
PEGAWAI PROYEK (a) Dasar
hubungan
(b) Hubungan
dengan kekangan kardinalitas
Ditugaskan_ke
PEGAWAI PROYEK
Contoh:
Amir Dewi Fahmi
Proyek 1 Proyek 2 Proyek 3 Proyek 4 Proyek 5 Sueb
Contoh Penerapan Kekangan Kardinalitas yang
Menggunakan Bentuk Lain
Bagaimana Kekangan Kardinalitasnya?
ORANG Menikah_dengan PEGAWAI Membawahi
SUKU_CADANG Tersusun_atas
Bagaimana Kekangan Kardinalitasnya?
Diberi_jatah
ORANG TEMPAT PARKIR
Bekerja_pada
PEGAWAI DEPARTEMEN
Mengambil
MAHASISWA MATA KULIAH
Entitas Lemah 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 Entitas Lemah
(Lanjutan…) (Lanjutan…)
PEGAWAI Memiliki
Nomor_Peg Nama_Peg Nama_Tanggungan Tanggal_Lahir
TANGGUNGAN
Contoh Lain Entitas Contoh Lain Entitas
Lemah 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.