Pada Artikel ini saya akan share panduan mengenai perancangan Database atau dengan bahasa Indonesia disebutkan dengan Basis Data. Perancangan Database sebagai dasar perancangan suatu sistem informasi yang penting karena database dipakai untuk menyimpan dan memanajement data sehingga mempermudah pemakai dalam memproses data menjadi informasi. Dalam membuatan database pada susatu sistem bisa dilaksanakan dengan menganalisa sistem yang akan dikembangkan, jadi kurang lebih apa saja table yang dibutuhkan, atribut apa yang diperlukan pada setiap tabel, dan seperti apakah hubungan antar tabel.
Pada tutorial merancang database kali ini saya akan membuat rancangan ERD dari suatu kasus perancangan sistem informasi.
Apa itu ERD ?
a. Entitas (Entity)
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)
Gambar Atribut
- Atribut SederhanaAtribut sederhana atau simple attribute adalah atribut yang nilainya tidak dapat dibagi lagi menjadi atribut lain yang lebih kecil.
- Atribut KeyAtribut 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)
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 satu 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.
Perancangan Database (ERD :
Sistem Penyimpanan Aplikasi Berbasis Website)
1. Mengidentifikasi Entitas
– application
– version
– category
– user
2. Menidentifikasi Atribut pada Masing-Masing Entitas / Table
Atribut :
- Entitas application :
id_application | name_application | date_application | price_application | status_application - Entitas version :
id_version | number_verison | url_application | date_version - Entitas category :
id_category | name_category - Entitas user :
id_user | name_user | email_user | password_user | status_user | access_user
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
- 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_userapplication
– id_application
– name_application- price_application
– status_application
– id_user - Relasi antara tabel application dengan versionSetiap 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_userversion
– id_version
– date_version
– number_verison
– url_application
– id_application - Relasi antara tabel application dengan categorySetiap 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_userapplication_category
– id_application_category
– id_application
– id_categorycategory
– 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…