database - Repository UNIKAMA

advertisement
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.
Download