Minggu, 24 November 2019

CDM (Conceptual Data Model)

CDM (Conceptual Data Model)

1. Pengertian CDM (Conceptual Data Model)

           CDM adalah model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (Entity) serta hubungan (relationship) antara entitas-entitas itu. Biasanya CDM direpresentasikan dalam bentuk Entity Relationship Diagram. Conceptual Data Model atau biasa di sebut CDM. CDM memodelkan struktur logis dari keseluruhan aplikasi data, tidak tergantung pada software atau pertimbangan model struktur data. CDM yang valid dapat dikonversi ke PDM atau OOM. 

            CDM dalam penerapannya dapat di samakan dengan ERD yang fungsinya memang sama yaitu memodelkan struktur logik dari basis data. CDM dipakai untuk menggambarkan secara detail struktur basis data dalam bentuk logik. CDM terdiri dari objek yang tidak diimplementasikan secara langsung kedalam basis data yang sesungguhnya. 

2. Manfaat CDM

    Adapun manfaat penggunaan CDM dalam perancangan database :

    1. Memberikan gambaran yang lengkap dari struktur basis data yaitu arti, hubungan, dan batasan-batasan

    2. Alat komunikasi antar pemakai basis data, designer, dan analis. 

3. Fungsi CDM

       Fungsi CDM dalam penerapannya dapat disamakan dengan ERD yang fungsinya memang sama yaitu memodelkan struktur logik dari basis data. CDM dipakai untuk menggambarkan secara detail (dari arti, hubungan dan batasan-batasan) struktur basis data dalam bentuk logik. Selain itu, CDM berfungsi sebagai alat komunikasi antar basis data, desaigner, dan analis

4. Jenis – Jenis Objek Dalam CDM

    Jenis – Jenis Objek Dalam CDM :

    1. Entity 

           Untuk membuat entitas, klik item pada palette dengan label Entity, kemudian klik space putih di sebelah kanan. Untuk membuat beberapa entitas, klik terus sebanyak jumlah entitas yang dibutuhkan.

    2. Relationship

          Untuk membuat relasi antara 2 buah entitas, klik item pada palette dengan label Relationship, kemudian hubungkan kedua entitas. Beri nama pada relasi yang sudah anda buat dengan melakukan double klik pada relasi dan mengisi nama pada field Name pada tab General.

    3. Inheritance

           Untuk membuat inheritance dari sebuah entitas, terlebih dahulu buat entitasentitas lain yang merupakan child dari entitas parent. Lalu klik item pada palette dengan label inheritance, hubungkan entitas parent dengan salah satu entitas child. Untuk menghubungkan entitas child yang lain, tarik garis antara lambang inheritance (bentuk setengah lingkaran) dengan entitas child. Kemudian beri nama pada inheritance anda.

5. Langkah-langkah dalam membuat CDM

   Ada tujuh langkah yang dapat dilakukan saat ingin membuat CDM, yaitu sebagai berikut:

   1. Pahami terlebih dahulu inti permasalahan dari kasus yang diberikan.

   2. Tentukan entity apa saja yang terlihat.

   3. Tentukan atribut-atribut data untuk setiap entity beserta tipe datanya.

   4. Tentukan hubungan/keterkaitan antar tiap entity beserta kardinalistasnya.

   5. Modelkan entity dan relationship

   6. Cek kebenaran model.

   7. Perbaiki setiap error dan warning.





ERD (Entity Relationship Diagram)


ERD (Entity Relationship Diagram)





1. Konsep Dasar Model Entity Relationship 

           Model Entity Relationship diperkenalkan pertama kali oleh P.P. Chen  pada tahun 1976.  Model ini dirancang untuk menggambarkan persepsi dari pemakai  dan berisi obyek-obyek dasar yang disebut entity dan hubungan antar entity-entity tersebut yang disebut relationship. Pada model ER ini semesta data yang ada dalam dunia nyata ditransformasikan  dengan memanfaatkan perangkat konseptual menjadik sebuah diagram, yaitu diagram ER ( Entity Relationship) Diagram Entity-Relationship melengkapi penggambaran grafik dari struktur logika .  

        Dengan kata lain Diagram E-R menggambarkan arti dari aspek data seperti bagaimana entity-entity,  atribut-atribut dan relationship-relationship disajikan. Sebelum membuat Diagram E-R , tentunya kita harus memahami betul data yang diperlukan  dan ruang lingkupnya.  Di dalam pembuatan diagram E-R  perlu diperhatikan penentuan sesuatu  konsep apakah merupakan suatu  entity, atribut atau relationship.    

2. Tipe Entity 

          Entity adalah obyek yang dapat dibedakan dengan yang lain dalam dunia nyata. Entity  dapat berupa obyek  secara fisik seperti orang, rumah,  atau kendaraan.  Entity dapat pula berupa obyek secara konsep seperti pekerjaan , perusahaan, dan sebagainya. 

          Tipe entity  merupakan  sekumpulan obyek dalam dunia nyata  yang mempunyai properti yang sama atau berasal dari entity yang sejenis. Terdapat dua tipe Entity, Entity Kuat dan Entity Lemah. Entity kuat adalah entity yang keberadaanya tidak tergantung pada entity lain, misalkan tipe entity pegawai atau cabang. Sedangkan Entity Lemah keberadaanya tergantung pada entity lain, misalkan tipe entity tanggungan, dimana keberadaannya tergantung dari pegawai 

            Entity disajikan dalam bentuk persegi panjang, entity kuat disajikan dengan perseg panjang dengan satu garis, sedangkan entity lemah disajikan dengan persegi panjang dobel . 

3. Atribut 

         Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Nilai Atribut  merupakan suatu data aktual atau informasi yang disimpan  pada suatu  atribut di dalam suatu entity atau relationship. Atribut digambarkan dalam bentuk oval. 

    Jenis-jenis atribut yaitu sebagai berikut :

   1. Key

      Atribut yang digunakan untuk menentukan suatu entity secara unik.

   2. Atribut Simple

      Atribut yang bernilai tunggal. 

   3. Atribut Multivalue

      Atribut yang memiliki sekelompok nilai untuk setiap instan entity. 

   4. Atribut Composite

    Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu 

   5. Atribut Derivatif   

      Suatu atribut yang dihasilkan dari atribut yang lain 

4. Relationship 

        Relationship adalah hubungan yang terjadi antara satu atau lebih entity. Relationship set adalah kumpulan relationship yang sejenis. 

5. Derajat  dari  Relationship

         Derajat dari relationshp menjelaskan jumlah entity yang  berpartisipasi dalam suatu relationship. 

    Terdapat tiga jenis derajat yaitu sebagai berikut :

  •     Unary Degree (Derajat Satu)
  •     Binary Degree (Derajat  Dua)
  •     Ternary Degree (Derajat Tiga)

6. Cardinality Ratio Constraint 

          Cardinality ratio contraint merupakan menjelaskan batasan jumlah keterhubungan satu  entity dengan entity lainnya. Terdapat tiga Jenis cardinality ratio contraints, satu pada satu (1:1), satu pada banyak (1:N/ N:1) dan banyak pada banyak (M:N).

    Jenis-jenis kardinalitas adalah sebagai berikut :

    1. 1 : 1   

             Relasi database model ini terjadi apalabila sebuah data terdapat pada 2 buah tabel, dan hanya diperbolehkan satu data saja pada masing masing tabel (unique record), sama halnya seperti primary key, record yang ada pada model ini tidak boleh ada yang sama.

    2. 1 : N  /  N : 1

           Relasi database model  ini membolehkan data yang sama pada tabel kedua, tapi hanya membolehkan data yang bersifat unique (unik) pada tabel pertama. Jadi pada model tabel kedua boleh memiliki beberapa data yang sama.

    3. M : N

       Berbeda dengan kedua model diatas, relasi database model ini membolehkan beberapa data yang sama baik pada tabel pertama maupun tabel kedua. Dengan demikian tidak ada unique record di kedua tabel tersebut.

7. Participation Constraint 

         Participation constraint merupakan batasan yang menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya  dengan  entity lain .Terdapat 2 macam participation constraint , total participation contraints dan partial participation constraints, yaitu sebagai berikut :

    1. Total Participation 

       Keberadaan suatu entity tergantung pada hubungannya dengan  entity lain.

    2. Partial Participation  

       Keberadaan suatu entity tidak tergantung pada hubungannya  dengan  entity lain.

8. Weak  entity 

          Weak Entity adalah suatu Entity  dimana  keberadaan dari entity tersebut tergantung dari keberadaan entity lain. Entity yang merupakan induknya disebut Identifying Owner dan relationshipnya disebut Identifying Relationship. Weak Entity selalu mempunyai Total Participation constraint dengan Identifying Owner.

9. Key

           Menurut para ahli, kunci (key) hanya memiliki satu makna dalam teori relasional yaitu adalah kumpulan dari satu atau lebih kolom yang nilai-nilai gabungan unik di antara semua kejadian dalam tabel tertentu. Utama adalah sarana relasional menetapkan keunikan. Kunci adalah satu atau lebih atribut yang menentukan atribut lainnya atau antara atribut lain saling berkaitan.

    Dalam metode relasional, ada 6 kunci yang di kenal yang akan di jelas sebagai berikut :

    1. Candidat key

           Candidate Key (kunci calon) adalah salah satu rangkaian yang mempunyai nilai unik untuk membedakan atau mengidentifikasi  nilai-nilai kombinasi yang unik diantara semua kejadian yang spesifik dari entetitas. Candidat key ini tidak boleh berisi atribut dari tabel yang lain. Kombinasi dari atribut yang dapat digunakan untuk mengidentifikasi secara unik rekor database tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih candidate key.

    2. Primary Key (kunci utama)

         Primary Key (kunci utama) adalah atribut yang telah dipilih untuk mengidentifikasi setiap record secara unik. Primary key harus merupakan field yang benar-benar unik dan tidak boleh ada nilai NULL. Pengertian lainya Primary Key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam table. Primary key, salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sebagai berikut :

  •        Key tersebut lebih natural untuk dijadikan acuan.
  •        Key tersebut lebih sederhana.
  •        Key tersebut cukup uniqe

    3. Alternate Key (Kunci Alternatif)

         Alternate key Adalah candidate key yang tidak terpilih. Misal : dalam suatu entity terdapat dua field yang bisa dijadikan sebagai kunci. Sementara yang boleh dijadikan kunci hanya satu, maka anda harus memilih salah satu. Field yang anda pilih, disebut primary key, sedangkan field yang tidak dipilih disebut dengan alternate key.

    4. Foreign Key (kunci Tamu)

          Foreign key adalah sebuah kumpulan field dalam satu relasi yang digunakan untuk menunjuk ke suatu baris (tuple) pada relasi yang lain (harus berkorespondensi dengan primary key pada relasi yang kedua), seperti: ‘logical pointer’. Sedangkan hubungan antara keduanya (primary key dan foreign key) di jelaskan sebagai berikut,“primary key” adalah field kunci / utama dari suatu tabel yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, atau dengan kata lain primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik).“foreign key” adalah satu attribute yang melengkapi satu relationship yang menunjukan ke induknya, dengan kata lain keduanya saling berkaitan. 

    5. Composite key

          Dalam desain database, composite key adalah kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam haknya sendiri.

             Hal ini sering bingung dengan kunci composite, meskipun ini juga merupakan kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian, setidaknya satu atribut yang membentuk kunci komposit bukanlah kunci sederhana.

       Contohnya, suatu entitas yang mewakili masing-masing modul siswa hadir di Universitas. entitas ini memiliki nim dan kode_matakuliah sebagai kunci utama. Setiap atribut yang membentuk kunci utama adalah kunci sederhana karena masing-masing merupakan referensi unik ketika mengidentifikasi siswa dalam satu kasus dan modul yang lain.

    6. Sekunder key

           Sekunder key adalah sebuah atribut atau kombinasi yang digunakan hanya untuk tujuan pengambilan data.


Normalisasi

Normalisasi 1. Pengertian Normalisasi         Normalisasi   merupakan   suatu   proses   untuk   mengubah   suatu   tabel   yang memi...