Computer, Linux, Program, Source Code, Tutorial, Website

2019-11-09

Perancangan Database dengan ERD (Entity Relation Diagram)

Pada Artikel ini saya akan berbagi tutorial tentang perancagan Database atau dalam bahasa Indonesia disebut dengan Basis Data. Perancangan Database merupakan dasar perancangan suatu sistem informasi yang penting karena database digunakan untuk menyimpan dan memanajement data sehingga sehingga memudahkan user dalam mengolah data menjadi informasi. Dalam merancangan database pada susatu sistem dapat dilakukan dengan cara menganalisis sistem yang akan dikembangkan, jadi kira-kira apa saja table yang diperlukan, atribut apa saja yang dibutuhkan pada tiap-tiap tabel, dan seperti apa hubungan antar tabel.
Pada tutorial merancang database kali ini saya akan membuat rancangan ERD dari suatu kasus perancangan sistem informasi.



Apa itu ERD ?

ERD atau Entity Relation Diagram adalah salah satu dokumentasi rancangan database yang menggambarkan relasi antar entitas, dan atributnya. ERD pada umumnya biasanya digunakan untuk merancang program yang ditulis secara prosedural atau native.

Selanjutnya untuk merancang ERD, terdapat beberapa hal yang perlu anda ketahui. Berikut adalah penjelasan lebih detail dari Entias, Atribut dan Relasi pada ERD :

a. Entitas (Entity)

Gambar Entitas

Entitas atau Entity adalah rancangan dari tabel yang akan kita buat. Ketika ERD diimplemntasikan maka Entitas lah yang akan diterapkan sebagai Tabel nya. Suatu entitas biasanya diambil dari object (pengguna atau melambangkan sutau benda) dan kegiatan pada suatu sistem, misalkan : user, transaksi, peminjaman, dan lain sebagainya.


b.  Atribut (Attribute)
Pada umumnya suatu entitas memiliki beberapa colom yang digunakan utnuk menyimpan data yang disebut dengan Atribut atau attribute. Dengan data-data pada atribut akan diolah menjadi suatu informasi.

Gambar Atribut
  1. Atribut Sederhana 
    Atribut sederhana atau simple attribute adalah atribut yang nilainya tidak dapat dibagi lagi menjadi atribut lain yang lebih kecil.
  2. Atribut Key
    Atribut kunci atau key attribute terdapat beberapa jenis atribut kunci, pada kesempatan ini yang akan saya jelaskan adalah 2 jenis yatiu primary key, dan foreigen key.
    • Primay Key digunakan sebagai identitas suatu  baris data, pada ERD biasanya di tandai dengan tanda bintang satu *, atau dapat ditandai dengan menggunakan garis bawah underline.
    • Foreign Key adalah atribut yang digunakan untuk menginisialisasikan hubungan tiap row data antar entitas. pada ERD foreigen key ditandai dengan tanda bintag 2 **, atau dapat ditandai dengan menggunakan garis bawah putus-putus stripe underline.


c. Relasi (Relationship)

 
 Gambar Relasi

Relasi adalah hubungan antara 2 tabel atau lebih yang dihubungkan dengan berdasarkan primary key pada tabel utama dan foreigen key pada tabel lain. Untuk membuat relasi antar tabel dapat dilakukan dengan cara mengidentifikasi derajat kardinalitas (jumlah maksimum entitas yang dapat berelasi dengan entitas lain) antar tabel yang akan direlasikan. Terdapat 3 jenis derajat kardinalitas pada database yaitu :

 
  • One to one (1 - 1)
    Satu ke satu atau one to one adalah hubungan antar tabel apabila suatu data pada suatu tabel hanya dapat berelasi dengan satu data di tabel lain.
  • One to many (1 - n)
    Satu ke banyak atau one to many adalah hubungan antar tabel suatu data pada tabel tertentu dapat berelasi dengan banyak data di tabel lain.
  • Many to may (n - n)
    Banyak ke banyak atau many to many adalah hubungan antar tabel suatu data pada tabel tertentu dapat berelasi dengan banyak data di tabel lain dan sebaliknya. Biasanya apabila antar entitas memiliki relasi many to many maka antara 2 entitas tersebut akan muncul suatu entitas baru berupa entitas lemah yang menghubungkan kedua entitas tersebut.

Terdapat satu hal yang perlu diingat untuk membuat merancang suatu database yaitu jika anda baru pertama kali merancang ERD atau mungkin belum berpengalaman dalam merancang ERD namum anda telah memahami atau mengetahui tentang flowchart. Perlu digaris bawahi jika anda merancang ERD / rancangan database anda harus melupakan pola pikir anda dalam merancang flowchat untuk sejenak. Untuk merancang database yang perlu anda tekankan adalah kebutuhan data antar table yang akan dijadikan sebagai relasi.



Perancangan Database (ERD :

Sistem Penyimpanan Aplikasi Berbasis Website)

Sistem Penyimpanan Aplikasi Berbasis Website adalah jenis platform distribusi digital untuk perangkat lunak komputer, seperti Play Store, dan App Store. Pada tutorial merancang database saya akan menggunakan khasus Sistem Penyimpanan Aplikasi Berbasis Website atau biasanya bisasa dikenal dengan Digital Distribution System, database yang menyimpan detail data yang terkait dengan Aplikasi.

Perancangan suatu database dilakukan dengan cara menganalisis apa saja data yang dibutuhkan dan yang akan diolah oleh sistem yang akan dikembangkan. Berikut ini langakah-langkah perancangan ERD pada sistem native dengan kasus Sistem Penyimpanan Aplikasi Berbasis Website :

1. Mengidentifikasi Entitas

Entitas adalah rancangan dari calon tabel pada database yang akan digunakan aplikasi atau sistem. Berikut ini adalah calon-calon tabel atau entitas yang akan diterapkan pada sistem :
- application
- version
- category
- user


2. Menidentifikasi Atribut pada Masing-Masing Entitas / Table

Langkah ke dua adalah mengidentifikasi atribut apa saja yang akan digunakan pada tabel-tabel atau entitas yang telah kita buat diatas.

Atribut :
  1. Entitas application :
    id_application | name_application | date_application | price_application | status_application
  2. Entitas version :
    id_version | number_verison | url_application | date_version
  3. Entitas category :
    id_category | name_category
  4. Entitas user :
    id_user | name_user | email_user | password_user | status_user | access_user 

Dari rancangan antribut di atas akan saya ambil contoh entitas user untuk saya jelaskan. Untuk menentukan tiap-tiap atribut pada suatu entitas yang perlu anda tekankan adalah pemahaman berikut :

Pada tabel / entitas user data apa saja yang perlu disimpan dan dibutuhkan oleh sistem?

Berikut adalah atribut pada entitas user beserta penjelasannya :
  • id_user (sebagai primary key / code unix user)
  • name_user (user yang terdaftar pada sistem memiliki nama)
  • email_user (user yang terdaftar pada sistem memiliki email untuk kebutuhan login misalnya)
  • password_user (user yang terdaftar pada sistem memiliki password untuk kebutuhan login misalnya)
  • status_user (untuk mengidentifiaki kondisi user)
  • access_user (untuk mengidentifikasi posisi / level user)



3. Mengidetifikasi Relasi antar Entitas atau Tabel

  1. Relasi antara tabel user dengan application.
    Seorang user pada sistem dapat melakukan upload aplikasi lebih dari satu, dengan begitu relasi antara tabel user dengan application adalah satu ke banyak / one to many (1-n). Untuk merelasikan dua tabel tersebut dapat dilakukan dengan cara menyumbankan id_user sebagai forigen key pada tabel application.
    user
    - id_user
    - name_user
    - email_user
    - password_user
    - status_user
    - access_user
    application
    - id_application
    - name_application

    - price_application
    - status_application
    - id_user

  2. Relasi antara tabel application dengan version
    Setiap aplikasi yang didaftarkan pada sistem dapat mengupload lebih dari 1 verison. Relasi antara tabel application dengan version adalah satu ke banyak / one to many (1-n). Untuk merelasikan dua tabel tersebut dapat dilakukan dengan cara menyumbankan id_application sebagai forigen key pada tabel version.
    application
    - id_application
    - name_application

    - price_application
    - status_application
    - id_user
    version
    - id_version
    - date_version
    - number_verison
    - url_application
    - id_application

  3. Relasi antara tabel application dengan category
    Setiap aplikasi yang didaftarkan pada sistem dapat memiliki lebih dari 1 category, dan suatu category dapat dimiliki oleh banyak aplikasi. Relasi antara tabel application dengan category adalah banyak ke banyak / many to many (n-n). Untuk merelasikan dua tabel tersebut karena relasi tabel many to many maka akan memunculkan tabel baru application_category yang digunakan untuk menyminpan forigen key id_application, dan id_category.
    application
    - id_application
    - name_application


    - price_application
    - status_application
    - id_user
    application_category
    - id_application_category
    - id_application
    - id_category
    category
    - id_category
    - name_category

Dalam rancangan Sistem Informasi Penyimpanan Aplikasi kami membuatnya tiap aplikasi yang diupload oleh user memiliki dapat memiliki banyak category oleh sebab itu relasi antara table application dangan category adalah many-to-many.


Maka pada relasi antara table application dangan category harus muncul satu tabel baru / entitas   yaitu
Berikut gambar hasil akhir dari contoh pembuatan dokumen ERD berdasarkan kasus Sistem Informasi Penyimpanan Aplikasi :



NOTE :
Setelah ERD jadi biasanya akan saya mendokumentasikan dalam bentuk physical design, mengapa? Karena menurut saya programmer akan merasa leblih mudah dalam membaca dokumentasi database dalam bentuk physical design.


Mungkin kira-kira seperti itulah cara tim kami merancang database untuk membangun sistem, sekian dari kami banyak, kekurangannya kami ucapkan mohon maaf, Trima kasih...


~Semong Bermanfaat~

2 komentar:

 
Top