MODEL DATA LANJUTAN Varian Entitas Entitas dalam sebuah diagram E-R terdiri dari : a. Entitas Kuat ( Strong Entity ) b. Entitas Lemah ( Weak Entity ) c. Sub Entitas (Sub Entity )
1.1. Entitas Kuat Entitas yang tidak memiliki ketergantungan dengan entitas lain, entitas yang dapat berdiri sendiri dan memiliki kunci utama ( primary key ). contoh : entitas mahasiswa, dosen dan matakuliah 1.2. Entitas Lemah Entitas yang kemunculannya tergantung pada entitas lain ( entitas kuat ). Dan tidak memiliki atribut yang dapat menjadi kunci ( key ), yang benar-benar dapat menjamin keunikan entitas didalamnya. contoh : untuk melengkapi data mahasiswa maka dilibatkan juga data hobbi dan orang tua.
Mahasiswa Orang-tua Hobbi NPM Nama_mhs … 2001.25.001 Dewi 2001.25.002 Hendra 2001.25.003 Silvia 2001.25.004 Lidya Nama_ortu Alamat_ortu Sutanto Jl. Durian 10 Wijaya Jl. Beo 99 Setiawan Jl. Mawar 22 Effendi Jl. Salak 23 Hobbi Hobbi Melukis Berenang Menari Musik Membaca
Dari tabel diatas dapat dilihat bahwa entitas mahasiswa berelasi satu ke satu dengan entitas orang-tua dan berelasi satu ke banyak dengan entitas hobbi. Sehingga dapat digambarkan diagram ER sebagai berikut :
Mahasiswa NPM Nama_mhs Alamat_mhs Tgl_lahir memiliki menyenangi Orang Tua Hobbi Nama_ortu Alamat_ortu 1 N
Data Orang-Tua dan Hobbi diatas dapat digolongkan sebagai himpunan entitas lemah (yang dalam diagram ER dinyatakan dengan kotak bergaris ganda), karena kemunculannya sangat tergantung pada adanya relasi dengan entitas yang ada pada himpunan entitas Mahasiswa. Jika misalnya mahasiswa ber – nama ‘Wijaya’ serta hobbi ‘membaca’ juga ditiadakan. Kedua himpunan entitas ( Orang-Tua dan Hobbi ) juga tidak memiliki atribut sendiri yang dapat menjamin keunikan entitas- entitas di dalamnya. Atribut nama_ortu dan hobbi sengaja diberi garis bawah yang putus-putus untuk menunjukkan bahwa kedua atribut itu merupakan atribut key yang tidak meyakinkan. Jika ada mahasiswa yang bersaudara atau yang mempunyai hobbi yang sama, maka entitas-entitas yang sama akan muncul pada himpunan entitas Orang-Tua atau Hobbi.
Kelak pada tahap implementasi akan ditunjukkan bagaimana cara mengakomodasi keunikan pada himpunan entitas lemah semacam Itu. 1.3. Sub Entitas Sub entitas merupakan bagian dari entitas utama. Sub entitas ini merupakan hasil dekomposisi ( spesialisasi ) himpunan entitas berdasarkan pengelompokan tertentu.
Dosen Dosen Tetap Dosen Tidak Tetap ISA Nama_dos Alamat_dos NIK Pangkat Tgl_masuk Nama_kantor Alamat_kantor
Dosen merupakan entitas utama ( superior ). Dengan proses spesialisasi (yang dilambangkan dengan adanya relasi khusus ‘ISA’) terhadap entitas utama ini, dapat dibentuk dua buah sub entitas ‘Dosen Tetap’ dan ‘Dosen Tidak Tetap’. Konsekuensi- nya, entitas - entitas di kedua sub entitas juga merupakan ( berasal dari ) entitas-entitas yang ada pada himpunan entitas dosen, namun tidak sebaliknya. Seperti halnya himpunan entitas lemah, sub entitas juga tidak memiliki atribut yang dapat menjamin keunikan entitas-entitas didalamnya.
Varian Relasi Relasi yang terjadi diantara dua himpunan entitas yang berbeda disebut sebagai Relasi Biner (Binary relation), yang merupakan relasi yang paling umum digunakan. Semua relasi yang ditun – jukkan pada contoh-contoh di bab sebelumnya merupakan relasi biner. Namun demikian ada kalanya kita juga menggunakan relasi yang hanya malibatkan sebuah himpunan entitas atau lebih dari dua himpunan entitas. Ada banyak jenis relasi lainnya yaitu : a. Relasi Tunggal (Unary Relation) merupakan relasi yang terjadi dari sebuah himpunan entitas ke himpunan entitas yang sama.
Diagram ini menunjukkan bahwa setiap dosen senior bisa mendam- mendampingi Kode_dos Nama_dos 1 N Keterangan : Diagram ini menunjukkan bahwa setiap dosen senior bisa mendam- pingi beberapa dosen baru ( dalam rangka pembinaan profesi ) sementara setiap dosen baru hanya dapat memiliki seorang dosen pendamping. Baik entitas dosen senior maupun entitas dosen baru ditempatkan di sebuah himpunan entitas, sehingga relasinya terjadi pada sebuah entitas saja.
Relasi Multi Entitas ( N – ary Entitas ) Merupakan relasi dari 3 himpunan entitas atau lebih. Bentuk relasi semacam ini sedapa mungkin dihindari, karena akan mengaburkan derajat relasi yang adadalam relasi tersebut. Sebagai contoh pada sistem perkuliahan kita dapat menam – bahkan himpunana entitas baru, yaitu himpunan entitas Ruang yang kemudian bersama dengan himpunan entitas Dosen dan Kuliah membentuk relasi ‘Pengajaran’. Pada diagram ER diatas, himpunan entitas Ruang dibentuk karena data Ruang juga memiliki entitas-entitas dengan sejumlah atribut khusus ( kode_ruang, nama_ruang, dan kapasitas ). Selanjutnya relasi yang kemudian terbentuk dari ketiga himpunan entitas diatas tentu saja akan memiliki key
Yang berasal dari ketiganya (yaitu kode_kul dari himpunan entitas Kuliah, nama_dos dari himpunan entitas Dosen dan kode_ruang dari himpunan entitas Ruang) Yang menjadi tidak jelas pada relasi demikian adalah derajat relasinya. Sebagaimana diketahui derajat relasi mengacu pada seberapa besar tingkat korespondensi antara sebuah himpunan entitas dengan himpunan entitas yang lain. Dalam relasi N-ary, himpunan entitas yang lain ada lebih dari satu. Karena itu dapat saja diputuskan untuk tidak menunjukkan derajat relasi untuk relasi N-ary seperti diatas.
Kuliah Ruang Dosen Kode_kul Kode_dos Kode_ruang Nama_kul Waktu Pengajaran Kode_kul Kode_dos Kode_ruang Nama_kul Waktu Nama_dos Nama_ruang Kapasitas
Relasi Ganda Relasi yang muncul antara dua entitas tidak hanya satu relasi, tetapi ada lebih dari satu relasi. Inilah yang disebut relasi ganda. Seorang dosen yang tidak mengajar mata kuliah tertentu tidak berarti dia tidak menguasai mata kuliah tersebut. Sedangkan derajat relasi banyak ke banyak pada himpunan relasi menguasai menunjukkan bahwa seorang dosen dapat menguasai banyak mata kuliah sekaligus dan begitu juga se- baliknya, setiap mata kuliah dapat dikuasai oleh lebih dari seorang dosen.
Dosen Kuliah Mengajar Menguasai 1 N Kode_dos Kode_kul Tempat Waktu
Spesialisasi dan Generalisasi Jika kita memulai dari sebuah entitas sebagai contoh entitas Dosen, kemudian melakukan pengelompokan yang mengha- silkan entitas baru yaitu : Dosen Tetap ( tambahan atributnya : NIK, pangkat, tgl_masuk ) Dosen Tidak tetap ( tambahan atributnya : nama_kantor, alamat_kantor ) Proses ini disebut Spesialisasi ( proses Top-down )
Top-down Dosen Dosen Tetap Dosen Tidak Tetap ISA
Jika kita mengetahui bahwa entitas-entitas dalam himpunan entitas Mahasiswa sebenarnya dapat dibagi dalam dua kelompok yaitu : Mahasiswa D3 Mahasiswa S1 Tetapi kelompok ini tidak dipertegas dengan adanya perbedaan atribut maka sebaiknya kelompok-kelompok entitas tersebut disatukan dalam satu himpunan entitas. Jadi pendekatan ini bersifat bottom-up, mula-mula terpisah tetapi kemudian menjadi satu. Proses yang seperti ini disebut Generalisasi
Mahasiswa Mahasiswa D3 Mahasiswa S1 ISA Bottom-up
PENGKODEAN Merupakan cara untuk menyatakan suatu data ( atribut ) dalam bentuk lain yang bertujuan untuk efisiensi ruang penyimpanan. Pengkodean dapat dibedakan menjadi 2 yaitu : Pengkodean Eksternal ( user-defined coding ) Pengkodean yang telah digunakan secara terbuka dan dikenal dengan baik oleh user ( end-user ). contoh : Atribut NPM dan Kode_kul.
Pengkodean Internal ( system coding ) Pengkodean semacam ini tidak dikenal oleh end–user, melain- kan oleh system (aplikasi maupun DBMS yang digunakan). Ada 3 bentuk pengkodean yang dapat kita pilih yaitu : Sekuensial Pengkodean yang dilakukan dengan mengasosiasikan data dengan kode terurut (biasanya berupa bilangan asli atau abjad). Misalnya data indeks nilai ( ‘Sempurna’, ‘Baik’, ‘Cukup’, ‘Kurang’, ‘Buruk’ ) dikodekan dengan A, B, C, D, dan E.
Mnemonic Pengkodean yang dilakuakan dengan membentuk suatu singkatan dari data yang ingin dikodekan misalnya data janis kelamin ( laki - laki dan perempuan ) dikodekan dengan ‘L’, dan ‘P’. Blok Pengkodean yang dinyatakan dalam format tertentu misalnya NPM mahasiswa dengan format XXXX.YY.ZZZ yang terbentuk atas XXXX = angka tahun masuk, YY = kode jurusan, dan ZZZ = nomor urut mahasiswa.