540 likes | 925 Views
Pertemuan 6. Renni Angreni , M.Kom . Perancangan Basis Data Relasional (ERD) bag.1. Pokok Bahasan / GBPP (SILABUS) :. Definisi Komponen Entitas Atribut Relasi Versi Penggambaran Peter Chen James Martin Kardinalitas Kardinalitas Simbol Derajat Minimum dan Maksimum
E N D
Pertemuan 6 RenniAngreni, M.Kom. Perancangan Basis Data Relasional (ERD) bag.1
PokokBahasan / GBPP (SILABUS) : • Definisi • Komponen • Entitas • Atribut • Relasi • VersiPenggambaran • Peter Chen • James Martin • Kardinalitas • KardinalitasSimbol • Derajat Minimum danMaksimum • Information Engineering
Entity Relationship Diagram (ERD) • ERD adalahsuatu diagram yang menggambarkanhubunganantarentitas/ entity di dalamsuatudatabase. • Skematentang diagram pertama kali diresmikanoleh Charles Bachman padatahun 1960-an, yang menggunakankotaksegiempatuntukmenunjukkantipe-tipe record dantandapanahdarisatu record ke record lain untukmenunjukkanhubunganone-to-many.
Ada beberapa model ERD yang dikemukakanolehbeberapaahli, dan yang akandibahasadalah model ERD menurutversiPeter ChendanJames Martin. • Perbedaankedua model perancangan ERD tersebutterletakpadarelation/ hubungannya, tetapi yang lebihumumdigunakanadalah ERD versi Chen.
Komponen ERD • Entitas / Entity • Atribut / Field • Relasi/ Relationship
1. Entitas (Entity) • Entitasmenunjukkanobjek-objekdasar yang terkait di dalamsuatusistem. • Entitasmerupakanindividu yang mewakilisesuatu yang nyatadandapatdibedakandarisesuatu yang lain. • Entitasdapatberupa orang, benda, atauhal yang keterangannyaperludisimpan di dalamsuatu basis data.
AturanpenggambaranEntitasdalam ERD : • Entitasdinyatakandengansimbolpersegipanjang. • Namaentitasdituliskan di dalamsimbolpersegipanjang. • Namaentitasberupa kata benda, tunggal. • Namaentitassedapatmungkinmenggunakannama yang mudahdipahamidanmenyatakanmaknanyadenganjelas. • Penulisanentitaslebihdari 1 kata menggunakantandagarisbawah ( _ ). • Sekalipuntidakdianjurkan, dapatjugamenggunakansingkatan. …
Hal-hal yang terdapatdalamEntitas: • IsianEntitas : menyatakansebuahkemungkinanpadaentitas. Cth : mahasiswadengan NPM 2005130001, mahasiswabernama Rita, dosenbernamaAgus, dll. • HimpunanEntitas : menyatakansekumpulanentitasdenganstruktur/ sifat yang sama. Cth: sejumlahmahasiswa S1, sejumlahmatakuliahwajib, semuamatakuliah.
Varian Entitas • EntitasKuat (Strong Entity) • adalahhimpunanentitas yang keberadaannyatidakbergantungpadaentitas yang lain. • Contoh : Mahasiswa, Mata_Kuliah, Karyawan, dll. • Penggambarannyamenggunakansimbolpersegipanjang.
EntitasLemah (Weak Entity) • adalahhimpunanentitas yang keberadaannyabergantungpadaentitas yang lain. • Contoh : • Mahasiswa_Jenjang_Sarjana, bergantungpadaentitasMahasiswa. • Mata_Kuliah_Wajib, bergantungpadaentitasMata_Kuliah. • Karyawan_Tetap, bergantungpadaentitasKaryawan. • Penggambarannyamenggunakansimbolduapersegipanjang (double).
EntitasSuper Type • adalahentitas yang mempunyaitingkatanlebihtinggi. • EntitasSub Type • adalahentitas yang lebihrendahatau yang menjadibagiandarientitaslain. Karyawan Karyawan_Tetap Karyawan_Tidak_Tetap
Atribut (Attribute / Field) • Atributdisebutjuga properties. • Merupakanketerangan yang terkaitpadasebuahentitas yang perludisimpansebagai basis data yang berfungsisebagaipenjelassebuahentitas. • Atributidentikdenganistilah “KolomTabel”. • Atributdisebutjuga “Field”. • IstilahAtributlebihumumdigunakanpadaperancangan basis data karenamenunjukkanfungsinyasebagaipembentukkarakteristik yang melekatpadasebuahtabel.
AturanmenggambarsuatuAtributsbb : • Atributdinyatakandengansimbolellips. • Namaatributdituliskan di dalamsimbolellips. • Namaberupakata benda, dantunggal. • Namamudahdipahamidanmenyatakanmaknanyadenganjelas. • Atributdihubungkandenganentitas yang bersesuaiandenganmenggunakangaris.
Contoh : Kode_Angkatan Nama_Mahasiswa Kode_Program_Studi Tanggal_Lahir Mahasiswa Kode_Jenjang_Studi Alamat_Lokal Kode_Jurusan Kode_Agama Nomor Status
Contoh : • TabelMahasiswamemiliki 4 atribut, yaitu : nim, nama_mhs, alamat_mhs, dantgl_lahir • TabelKuliahmemiliki 4 atribut : kode_kul, nama_kul, sksdansemester • Masing-masingtabelmemilikifield/ atributsebagaikey, danlainnyasebagaiatributdeskriptif. • Ada pula atribut yang tergolongatributsederhanaataukompositdanlainnya.
Variasi/ Jenis-jenisAtribut : • Selainpenamaan yang unikberdasarkanfungsinya di tiaptabel, atributjugadapatdibedakanberdasarkansejumlahpengelompokkansbb : • Atribut Key danAtributDeskriptif. • AtributSederhanadanAtributKomposit. • AtributBernilai Tunggal danAtributBernilaiBanyak. • AtributHarusBernilaidanNilai Null. • AtributTurunan.
1). Atribut Key danAtributDeskriptif • Atribut Keyadalahsatuataukumpulanatribut yang dapatmembedakansemuabaris data (row) dalamtabelsecaraunik. Tigamacamkey yang diterapkanpadasuatutabel : • Superkey • himpunansatuatributataulebih yang memungkinkanidentifikasisecaraunik record padahimpunanentitastersebut. • Cthpadatabelmahasiswa, yang dapatmenjadisuperkey: NPM, nama_mhs (jikatidakadanilai yang sama), alamat_mhs, tgl_lahir.
b. Candidate Key • Kumpulan atributsuperkey minimal yang dapatmembedakansetiapbaris data dalamsebuahtabelsecaraunik. • Atributininantinyadapatdigunakansebagaicalonkunciutama/ primary key. • Sebuahcandidate keytidakbolehberisiatribut yang telahmenjadisuperkey yang lain. • Candidate keypadatabelmahasiswa : NPM, nama_mhs (bilatidakadanilai yang sama)
c. Primary Key • Salah satudaricandidate keydapatdijadikanprimary key. • Pemilihanprimary keydarisejumlahcandidate keydidasarioleh : • Key tersebutlebihsering (lebih natural) untukdijadikansebagaiacuan. • Key tersebutlebihringkas. • Jaminankeunikankey tersebutlebihbaik. • PadatabelMahasiswa, primary key yang lebihcocokadalah NPM.
Contoh : Super Key : No_KTP + No_SIM + Nama + Alamat No_KTP + No_SIM + Nama No_KTP + No_SIM No_KTP No_SIM Candidate Key : No_KTP No_SIM Primary Key : No_KTPatauNo_SIMtergantungkebutuhan
AtributDeskriptifadalahatribut-atribut yang tidakmenjadiatau yang bukanmerupakananggotadariKey Primer. • Jadi, atribut-atribut : nama_mhs, alamat_mhs, dantgl_lahirdigolongkansebagaiAtributDeskriptif.
2). AtributSederhanadanAtributKomposit • AtributSederhana (Simple Attribute) adalahatribut yang tidakdapatdibagilagimenjadiatribut yang lebihmendasar. • Contoh : atributhargadarientitasbarang. harga BARANG
JALAN KODE POS NAMA ALAMAT NPM MAHASISWA KOTA • AtributKomposit (Composite Attribute) adalahatribut yang masihdapatdipecahmenjadi sub-sub atribut lain yang masing-masingmemilikiartitersendiri. • Contoh : entitasmahasiswamempunyaiatributalamat. Alamatdisinidapatdipecahmenjadi sub atributsepertiJalan, KodePos, Kota.
3). AtributBernilai Tunggal danAtributBernilaiBanyak • Atributbernilaitunggal (Single Valued Attribute) adalahatribut-atribut yang memiliki paling banyaksatunilaiuntuksetiapbaris data. • Contoh : Padaentitasmahasiswa, suatu record untuk data mahasiswauntuk field NPM, nama_mahasiswahanyadapatdiisidengansebuahnilaisaja. Tidakdimungkinkanseorangmahasiswadapatmemilikiduanilaiuntuk NPM dannama_mahasiswa.
NAMA HOBBY NPM MAHASISWA • AtributBernilaiBanyakadalahatributyang bolehmemilikilebihdarisatunilaiuntuksetiapbarisnya. • Contoh : Entitas MAHASISWA mempunyaiatributHOBBY isi data dariatributinibolehlebihdari 1 data. MahasiswaRoshitamemiliki NPM 13402021 beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga, Nyanyi, MasakdanNonton TV)
Atribut bernilai banyak Merupakan atribut bernilai tunggal
4). AtributHarusBernilaidanAtributNilai Null • Atributharusbernilai (Mandatory Attribute) adalahatribut yang harusberisi data dannilainyatidakbolehkosong. • Contoh : nimdannama_mhsharusadanilainyadalamtabelmahasiswa. • AtributNilai Null (Non-Mandatory Attribute) adalahatribut yang nilainyabolehdikosongkan. • Dapatdigunakanuntukmenyatakan/ mengisiatribut-atribut yang nilainyamemangbelumsiapatautidakada. • Nilai null tidaksamadenganspasi!
5). AtributTurunan • AtributTurunan (Derrived Attribute) adalahatribut-atribut yang nilai-nilainyadiperolehdaripengolahanataudapatditurunkandariatributlain padatabel yang berhubungan. • Dapatditiadakandarisebuahtabel, karenanilainyabergantungpadanilai yang ada di atribut lain. AtributTurunan
AtributTurunandigambarkandengangarisputus-putus. KARYAWAN Lama_Bekerja NIK Mulai_Bekerja Nama
nama_atribut bernilai ganda nama_atribut nama_atribut nama_atribut nama_atribut_kunci nama_atribut_komposit nama_atribut nama_atribut_derivatif nama_entity
3. Relasi (Relationship) • Menunjukkanhubungan yang terjadi di antarasejumlahentitas yang berasaldarihimpunanentitas yang berbeda. • Kerelasianadalahkejadianatautransaksi yang terjadi di antaraduabuahentitas yang keterangannyaperludisimpandalam basis data. • Contoh : • Entitasmahasiswamempunyairelasidenganentitasmatakuliah. Relasi yang terjadidapatmengandungartibahwamahasiswatersebutmengambilmatakuliahtersebut.
Aturanpenggambaranrelasiantarentitas : • Relasidinyatakandengansimbolbelahketupat. • Namarelasiditulisdalamsimbol. • Relasimenghubungkanduaentitas. • Namarelasiberupa kata kerjaaktif, dantunggal. • Namarelasimenggunakannama yang mudahdipahamidansesuaimaknanya.
Kardinalitas (Cardinality) / DerajatRelasi • Kardinalitasatauderajatrelasimenunjukkanjumlahmaksimumentitas yang dapatberelasidenganentitaspadahimpunanentitas yang lain. • Kardinalitas yang terjadidapatberupa : • One to one (satukesatu). • One to many (satukebanyak) atausebaliknya. • Many to many (banyakkebanyak).
Satu ke satu Satu ke Banyak Banyak ke Banyak Banyak ke satu
B A A B B A
Nama_dos Alamat_dos Nama_dos Kode_jur Kode_jur Nama_jur • One To One (SatukeSatu) • One To Many (Satukebanyak) 1 1 Mengepalai Jurusan Dosen Nama_dos Alamat_dos Nama_dos Kode_kul Kode_kul Nama_kul 1 N mengajar kuliah Dosen Waktu Tempat sks semester
Many to many (Banyakkebanyak) • Many to Many (Banyakkebanyak) npm Nama_mhs npm Kode_kul Kode_kul Nama_kul M N mempelajari kuliah Mahasiswa Indeks_nilai sks semester Alamat_mhs Tgl_lahir
Tahapan Pembuatan ERD • Mengidentifikasidanmenetapkanseluruhhimpunanentitas yang akanterlibat. • Menentukanatribut-atribut key darimasing-masinghimpunanentitas. • Mengidentifikasidanmenetapkanseluruhhimpunanrelasi di antarahimpunan-himpunanentitas yang adabesertaforeign keynya. • Menentukanderajat/ kardinalitasrelasiuntuksetiaphimpunanrelasi. • Melengkapihimpunanentitasdanhimpunanrelasidenganatribut-atributdeskriptif (non key).
ERD VERSI JAMES MARTIN • Pada ERD Martin, relationshipdigambarkandengangaris, denganmenambahkanconnectivity-nya (0,1,*). • Hubunganantarentitydigambarkandengansimbol , , dan • Simbol : • Entitas • Atribut
Gambarsimbol-simbolrelationshippada ERD Martin : Exactly one Zero or one More than one Zero, one or more One or more
Contoh 1: • Satu record padaentitas A hanyaberhubunganpadasatu record padaentitas B. A B
Contoh 2: • Satu record padaentitas A berhubunganterhadapsatuataulebihdarisatu record padaentitas B ataudapattidakBerhubungan. B A
Contoh 3 : • Satu record padaentitas A pastiberhubunganterhadapsatuataulebihdarisatu record padaentitas B. A B