Modul 2 : Pemodelan Data - IvanSholana/PerancanganBasisData GitHub Wiki

Definisi Pemodelan Data

Model data adalah sebuah struktur yang mendasari basis data berupa alat konseptual yang mendeskripsikan data, hubungan antar data, dan batasan-batasan dari data. Pemodelan data digunakan karena memiliki beberapa manfaat seperti :

  1. Mengurangi kesalahan dalam pengembangan perangkat lunak.
  2. Efisiensi kecepatan dalam mendesain dan membuat basis data.
  3. Mencipatakan konsistensi dalam dokumentasi data dan seluruh sistemnya.
  4. Mempermudah pemahaman terhadap database. Secara umum, pemodelan data terbagi menjadi 3 kelompok yaitu Object-Based Data Model, Record-Based Data Model, dan Pyhsical Data Model.

Object-Based Data Model

Object based data model merupakan pemodelan data yang memiliki konsep-konsep objek di dalamnya seperti entitas, atribut, dan relasi atau hubungan antar entitas. Selain itu juga terdapat penggunaan konsep encapsulasi atau suatu objek seakan berupa sebuah kapsul berisikan komponen data sehingga satu objek akan terpisah satu sama lain. Pada Object based data model, terbagi kembali menjadi 3 jenis data model yaitu Entity Relationship Model , Semantic Data Model, dan Object Oriented Data Model

  • Entity Relationship Model

    ER Model merupakan model data yang mendeskripsikan data berdasarkan entity, atribut dan relationship

    • Entity merupakan sebuah keberadaan sesuatu secara fisik atau konseptual yang berada di dunia nyata. Contoh Entity secara fisik dapat berupa mahluk atau benda, dan contoh Entity secara konseptual dapat berupa sebuah pekerjaan, kursus, atau mata pelajaran.
    • Atribut merupakan sebuah properti atau ciri yang dimiliki dan mendiskripsikan sebuah entity. Atribut memiliki beberapa tipa yang terdiri dari :
      1. Composite Atribute, merupakan atribut yang dapat dibagi menjadi beberapa atribut atau terdiri dari beberapa atribut. Contohnya adalah atribut nama yang dapat memiliki atribut nama depan, nama belakang, dan nama tengah.
      2. Simple Atribute, merupakan atribut yang tidak dapat dibadi lagi. Contoh simple atribut adalah umur.
      3. Single Valued Atribute, merupakan atribut yang hanya dapat memiliki satu buah nilai atau value. Contoh single value atribute adalah umur.
      4. Multi Valued Atribute, merupakan atribut yang dapat memiliki lebih dari satu nilai atau value. Contoh multi valued atribute adalah gelar.
      5. Derived Atribute, merupakan atribut yang nilai atau valuenya dapat diambil dari atribut lain. Contoh dari derived atribute adalah umur yang nilainya dapat diambil dari atribut tanggal lahir.
      6. Stored Atribute, merupakan atribut asal dari nilai milik derived valued atribute.
      7. Complex Atribute, merupakan atribut yang memiliki multi valued atribut yang dilambangkan dengan tanda {} dan composite atribut yang dilambangkan dengan (). Contoh : {CollageDegree(Collage, Year, Degree, Field)}.
      8. Key Atribute, merupakan atribut yang memiliki nilai yang uniqe dan bertugas untuk membedakan satu data dengan data yang lain.
  • Semantic Data Model

    Semantic Data Model merupakan pemodelan data yang mirip dengan ER Model, namun dalam relasinya ditambahkan penjelasan mengenai keterhubungan yang terjadi antara entity dengan entity lainnya.

  • Object Oriented Data Model

    Object Oriented Data Model adalah pemodelan data yang berorientasikan terhadap objek untuk merepresentasikan struktur model datanya. Oleh karena itu, dalam pemodelannya object oriented data model menggunakan object, atribut, class, dan method dalam struktur model datanya. Selain itu, juga terdapat konsep/metode seperti encapsulation dan inheritence.

Record Based Data Model

Pemodelan data yang menggunakan record atau baris kolom untuk menjelaskan hubungan antar datanya. Dalam record based data model terdapat beberapa tipe pemodelannya, yaitu :

  • Model Hirarki

    Dalam pemodelan data menggunakan model hirarki, digunakan pemodelan hubugan antar data secara bertingkat dalam bentuk pohon atau tree dan tiap-tiap datanya digambarkan dalam bentuk node. Dalam model hierarki node dengan kedudukan tertinggi disebut dengan root dan node yang lebih tinggi dari node lainnya dan masih ada keterhubungan disebut parrent sedangkan yang lebih rendah disebut child. Dalam pemodelan hirarki relation yang dapat terjadi hanyalah one-to-one dan one-to-many sehingga dengan metode ini dapat terjadi redudancy data.

  • Model Jaringan

    Dalam pemodelan ini mirip dengan model hirarki namun menyelesaikan permasalahan redudancy data yang terjadi karena menerapkan metode relasi many-to-many.

  • Model Relasional

    Model data ini merepresentasikan data dalam kumpulan tabel. Tabel di dalam relasional model disebut juga dengan relation, sehingga model relasional merepresentasikan data dalam bentuk kumpulan relasi. Tiap tabel terdiri dari baris dan kolom. Kolom disebut dengan atributes dan baris disebut dengan tuple. Selain itu juga terdapat istilah domain yaitu rentang nilai yang dapat digunakan untuk sebuah atribut dan entity.

  • Contoh dari domain adalah : Untuk menyusun sebuah nama maka domainnya adalah seluruh character alfabet yang memungkinkan untuk menyusun string dari nama.

    Kemudian juga terdapat atomic value yaitu nilai yang tidak dapat dibagi lagi, atomic value mirip dengan simple atribute. Kemudian adalah relation schema yang merupakan deskripsi dari relation atau tabel, dinotasikan dengan R untuk nama dari relation schema dan (A1,A2,....An) untuk list dari atributnya dan terdapat juga istilah degree atau jumlah dari atribut suatu relation.

  • Contoh Relation Schema : Student(Name,NIM,IPK), memiliki degree 6.

    Istilah lain yang terdapat di dalam relational data model adalah kardinasilatas atau jumlah dari tuple pada sebuah relation. Contoh dari kardinalitas adalah sebagai berikut :

    NO NAMA LENGKAP
    1 IVAN SHOLANA
    2 SOEHARTO
    3 JOKO WIDODO
    4 MEGA WATI

    Pada relation di atas nilai dari kardinalitas adalah 4 karena jumlah dari tuple adalah 4. Terdapat juga istilah Relation of Schema atau kumpulan relation dan schema dari sebuah relational database. Berikut merupakan contoh dari Relational Database secara keseluruhan :

ER Diagram (Entity Relationship Diagram)

ER Diagram merupakan diagram yang digunakan untuk melakukan pemodelan data dalam metode Entity Relationship Model. Dalam diagram ini, unsur-unsur penyusun pemodelan data disimbolkan menggunakan bentuk bangun dasar sebagai berikut :

  1. Entintas, merupakan segala sesuatu yang datanya dapat disimpan yang terdiri dari bentuk fisik atau sebuah konsep. Dalam ERD entitas disimbolkan dengan bentuk persegi panjang. Entitas secara tingkatan terbagi menjadi 2 yaitu : entity super type yang merupakan perent dari entity sub type yang merupakan child. Kemudian, secara sifat entity juga terbagi menjadi entitas reguler yang keberadaannya tidak bergantung pada entitas lain, sebaliknya entitas dependen memiliki ketergantungan dengan entitas lain.

  2. Atribut, merupakan keterangan atau ciri yang mendekripsikan sebuah entitas. Atribut merupaka bagian yang disimpan di dalam sebuah entitas. Pada ERD, atribut disimbolkan dengan elips.

  3. Relationship, merupakan hubungan antar satu atau lebih entitas. Pada ERD, relationshop disimbolkan dengan bentuk belah ketupat.

    Pada ERD, relationship terbagi menjadi beberapa macam yaitu antara lain

    1. One-to-One, hubungan antar entity dengan satu entity hanya dapat terhubung dengan satu entity lain. Contoh : Satu orang hanya dapat memiliki satu pasport.

    2. One-to-Many dan Many-to-One, hubungan antar entity dengan satu entity dapat terhubung dengan banyak entity lain, namun entity lain tersebut hanya dapat terhubung dengan satu entity saja. Contoh : Satu dosen dapat mengajar banyak mata kuliah, namun satu mata kuliah hanya dapat diajar oleh satu dosen.

    3. Many-to-Many, hubungan antar entity yang mana antar entity dapat terhubung lebih dari satu entity. Contoh : Satu jenis barang dapat dipesan oleh banyak customer dan customer dapat memesan banyak jenis barang.

Berikut merupakan contoh diagram ERD secara lengkap :