Skip to content Skip to sidebar Skip to footer

Inilah Pengertian tentang Database beserta dengan Arsitektur Basis Data dan Entity Relationship Diagram (ERD)

Assalamu‘alaikum wr. wb.

Hello guys! Jika Anda sering ingin mempelajari tentang Pengembangan di bidang Web dan Apilkasi (Web/App Development), pastinya Anda tahu apa itu Database. Singkatnya, Database adalah kumpulan Data dan Informasi Digital. Untuk lebih jelasnya, marilah simak baik-baik pada Artikel ini.



Sumber Artikel : Goldenfast.net dan Termasmedia.com

PENGERTIAN DAN KOMPONEN DATABASE

Apa Itu Database?

Database adalah kumpulan data digital yang disimpan secara sistematis di dalam komputer. Kumpulan data ini dapat diakses dan diolah menggunakan sebuah program.

Semua data yang ada pada database umumnya disimpan secara terstruktur untuk membuatnya lebih mudah diakses dan diolah sesuai kebutuhan proyek Anda. Kumpulan data di database biasanya dikategorikan menjadi baris dan kolom di dalam serangkaian tabel untuk membuat proses pengolahan data menjadi lebih efisien. Dengan begini, kumpulan data yang berada di dalam database bisa lebih mudah diakses dan dikelola oleh user maupun aplikasi yang menggunakannya.

Intinya, database adalah tempat dimana kumpulan data dan informasi yang tersimpan sedemikian rupa sehingga dapat diakses dan dikelola oleh sebuah sistem komputer. Anda juga bisa menganggap database seperti sebuah perpustakaan umum yang berisi dengan berbagai macam buku dari berbagai genre dan informasi lainnya.

Di contoh ini, perpustakaan umum berlaku sebagai database atau wadah dimana data-data (berbagai macam buku & informasi) tersimpan secara rapi dan terstruktur. Jadi, Anda sebagai user database bisa dengan mudah memilih buku dan informasi yang ingin Anda baca dan mengambilnya dari rak dimana data tersebut tersimpan.

Sebagian besar database yang ada sekarang dikelola menggunakan sistem manajemen database yang sering juga disebut dengan DBMS (Database Management System).

Saat ini database adalah salah satu aspek terpenting dalam perkembangan teknologi lho! Tanpanya, tidak akan ada platform seperti Facebook atau Instagram. Tentunya karena database tersimpan di dalam jaringan komputer, Anda harus mengerti Bahasa Pemrograman Manajemen Database untuk bisa mengakses dan mengelola datanya.

Tujuan Database

Nah setelah mengetahui pengertian dari database, berikut adalah beberapa fungsi dan manfaat yang bisa Anda dapatkan dari sebuah sistem manajemen data :
  • Mengumpulkan dan mengelompokkan data dan informasi secara sistematis sehingga lebih mudah diakses dan dikelola.
  • Mengurangi data redudansi atau pengulangan data. Mencegah terjadi duplikasi dan juga data dan informasi yang tidak konsisten.
  • Memberikan proteksi dan perlindungan ekstra melalui batasan integritas akan semua data yang tersimpan di dalam database. 
  • Mengurangi waktu pengembangan Aplikasi dan Website dan meningkatkan efisiensi dari platform itu sendiri.
  • Mempermudah proses manajemen data (menyimpan, memperbarui, dan menghapus data bisa dilakukan dengan cepat dan mudah).
  • Meningkatkan kinerja Aplikasi, Platform, Website yang membutuhkan penyimpanan data.

Komponen Database

Database sendiri terdiri dari beberapa komponen wajib, yaitu :
  • Hardware : Terdiri dari perangkat elektronik dalam bentuk fisik seperti Komputer, Server, Hard drive storage, dan lain sebagainya.
  • Software : Semua program atau sistem yang digunakan untuk mengakses dan mengelola sebuah Database; termasuk sistem operasi dan lain-lain.
  • Data : Informasi dan data yang tersimpan di dalam database, bisa dalam bentuk File, Video, Gambar, Fakta, Pengamatan, Persepsi, Angka, Karakter, Simbol, dsb.
  • Procedure : Terdiri dari serangkaian instruksi dan juga aturan yang membantu Anda menggunakan dan mengelola sistem manajemen database (DSBM).
  • Database Access Language : Bahasa dan Perintah yang digunakan untuk mengakses dan mengelola semua data di dalam Database.

JEINIS-JEINS DATABASE

Untuk bisa mengakses data sebuah database,tentunya Anda harus tahu tipe dan jenis database yang digunakan. Berikut adalah beberapa jenis database terpopuler :

1. Relational Databases 

Jenis Database Relational (DSMB Relational) menggunakan seperangkat tabel dengan berbagai kolom dan baris untuk menyimpan dan mengakses data.

Relational Database merupakan salah satu jenis database terpopuler yang banyak digunakan saat ini. Contoh dari database ini adalah MySQL, Oracle, dan Microsoft SQL.

Umumnya, sistem relational database menggunakan SQL (Structured Query Language) sebagai Bahasa Pemrograman utama untuk mengelola Data dan Kueri.

2. Object-Oriented Databases

Seperti namanya, semua informasi dan data yang tersimpan di jenis Object-Oriented Database berbentuk sebuah Objek, sama halnya dengan Object-Oriented Programming.

Object yang tersimpan di dalam database mempunyai atribut dan metode yang menentukan fungsi dari data tersebut. Salah satu contoh dari jenis database ini adalah PostgreSQL.

3. Distributed Databases

Jenis yang satu ini menyimpan data dalam berbagai perangkat atau komputer. Perangkat tersebut bisa terletak di lokasi yang sama maupun tersebar di jaringan berbeda.

Meskipun tersimpan di tempat berbeda, semua data yang ada di database ini saling berhubungan. Contoh dari distributed databases adalah Apache Ignite dan Amazon SimpleDB.

4. NoSQL Databases

NoSQL database atau database non-relasional memungkinkan data tidak terstruktur dan semi-terstruktur untuk disimpan dan dikelola dengan mudah. 

Berbeda dengan database relasional, saat ini NoSQL database semakin populer karena banyaknya aplikasi web yang lebih kompleks dan mempunyai data tidak terstruktur.

5. Open Source databases

Seperti namanya, Open Source Database adalah Sistem Basis Data yang memiliki publik source code. Ini berarti semua orang bisa menggunakan dan mengembangkannya sesuai keinginan.

Jenis open source database bisa termasuk database relasional maupun non-relasional. Contoh dari open source database adalah MariaDB, MongoDB, dan Redis. 

6. Cloud Databases

Cloud database adalah kumpulan data, terstruktur atau tidak terstruktur, yang tersimpan pada platform komputasi awan pribadi, publik, maupun sebuah perusahaan.

 Ada dua jenis model basis data cloud: tradisional dan basis data sebagai layanan (DBaaS). Dengan DBaaS, tugas administratif dan pemeliharaan dilakukan oleh penyedia layanan cloud.

Beberapa Jenis Database yang lainnya termasuk : 
  • Multimodal Databases : Kumpulan dari beberapa Tipe Database models yang terintegrasi menjadi satu manajemen backend, jenis ini mendukung banyak variasi tipe data.  
  • OLTP Databases : OLTP Database adalah jenis database yang mampu melakukan pemrosesan kueri cepat dan menjaga integritas data di lingkungan multi-akses.
  • Graph Databases :  Jenis ini menyimpan semua data dan informasi dalam bentuk entitas dan hubungan antar entitas itu sendiri.
  • Document / JSON Databases : Database yang didesain untuk menyimpan, mengambil, dan mengelola informasi dalam bentuk dokumen, jenis ini adalah cara modern untuk menyimpan data pada JSON format daripada kolom dan baris.

ARSITEKTUR BASIS DATA



Arsitektur Basis data merupakan suatu kumpulan data yang tersimpan secara sistematik dimana user dapat melihat data dan bagaimana cara user melihat data tersebut.Arsitektur ini juga berfungsi memberikan kerangka kerja bagi pembangunan basis data.

A. Level Arsitektur Data

Menurut ANSI/SPARC, Arsitektur Basis Data terbagi atas 3 (Tiga) Level yaitu :
  • Internal/ Physical Level : berhubungan dengan bagaimana data disimpan secara fisik (physical storage). Internal level adalah level terendah untuk merepresentasikan basis data. Record disimpan dalam media penyimpanan dalam format byte. Didefinisikan sebagai sebuah skema internal.
  • External / View Level : berhubungan dengan bagaimana data direpresentasikan dari sisi setiap user. View level adalah level user, yang dimaksud dengan user adalah programmer, end user atau Database Administrator (DBA). (programmer : bahasa yang digunakan adalah bahasa pemrograman seperti C, COBOL, atau PL/I), (end user : bahasa yang digunakan adalah bahasa query atau menggunakan fasilitas yang tersedia pada program aplikasi pada level eksternal ini, user dibatasi pada kemampuan perangkat keras dan perangkat lunak yang digunakan aplikasi basis data yang didefinisikan sebagai sebuah skema eksternal.)
  • Conceptual/ Logical Level : Yang menghubungkan antara internal & external level. Conceptual level adalah sebuah representasi seluruh muatan informasi yang dikandung oleh basis data. Tingkatan level ini dilihat dari cara user dalam memahami atau mengetahui data.

B. Pemetaan

Berikut, inilah Pemetaan dari Arsitektur Database :
  • Conceptual/Internal Mapping yaitu pemetaan yang mendefinisikan hubungan antara level konseptual dan level internal. Pemetaan ini menjelaskan bagaimana record & field pada level konseptual direpresentasikan pada level internal.
  • External/Conceptual Mapping yaitu pemetaan yang mendefinisikan hubungan antara level eksternal dan level konseptual.

C. Model-model Data

Model data adalah sekumpulan tool konseptual untuk mendeskripsikan data, relasi-relasi antar data, semantik data & konsistensi konstrain.

1. 
Object-Based Logical Models

Object-Based Logical Models terbagi atas beberapa model, yaitu :
  1. Entity-relationship model
  2. Object-oriented model
  3. Semantic data model
  4. Functional data model
Dua (2) dari model di atas yaitu :

    1. Entity-relationship Model E-R

    Model didasarkan atas persepsi terhadap dunia nyata yang terdiri dari sekumpulan objek, disebut entity dan hubungan antar objek tersebut, disebut relationship. Entity adalah objek di dunia yang bersifat unik. Setiap entity mempunyai atribut yang membedakannya dengan entity lainnya.

    2. Object-Oriented Model

    Model berorientasi objek berbasiskan kumpulan objek, dimana setiap objek berisi :
  • Nilai yang disimpan dalam variabel instant, dimana variabel tersebut “melekat” dengan objek itu sendiri.
  • Metode : operasi yang berlaku pada objek yang bersangkutan.
  • Objek-objek yang memiliki tipe nilai & metode yang sama dikelompokkan dalam satu kelas. Kelas disini mirip dengan tipe data abstrak pada bahasa pemrograman.
  • Sending a message : sebuah objek dapat mengakses data sebuah objek yang lain hanya dengan memanggil metode dari objek tersebut.

2. Record-Based Logical Models

Terdapat beberapa model dalam kelompok ini :

    1. Model Relasional (Relational Model)

    Model relasional menggunakan kumpulan tabel-tabel untuk merepresentasikan data & relasi antar data tersebut.

    2. Model Jaringan (Network Model)

    Data dalam model jaringan direpresentasikan dengan sekumpulan record, dan relasi antara data direpresentasikan oleh record & link.

    3. Model Hirarki (Hirarchical Model)

    Mirip dengan model jaringan. Data direpresentasikan dalam record dan link. Perbedaannya adalah, pada model hirarki record-record diorganisasikan sebagai tree (pohon) daripada graf. Model relasional berbeda dengan model jaringan & hirarki, dalam hal penggunaan pointer atau link.

Selain itu pada arsitektur data,terdapat Bahasa Basis Data. Bahasa Basis Data (Database Language) ini dibagi menjadi 3 Bagian, yaitu :

    1. DDL (Data Definition Language)

    DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.Jadi DDL digunakan ketika kita ingin membuat, mengubah, dan menghapus object pada database. Oleh karena itu DDL lebih berhubungan pada object bukan pada isi atau data. kata-kata yang akan sering kita jumpai dalam DDL antara lain : Create, Use, Alter, dan Drop.

    2. DML (Data Manipulation Language)

    Data Manipulation Language (DML) adalah bahasa basis data yang berguna untuk melakukan modifikasi dan pengambilan data pada suatu basis data. Modifikasi data terdiri dari penambahan (insert), pembaruan (update), penghapusan (delete), seleksi data (selection) dan membuat tabel maya (view).

  • Penambahan data (Insert) pada sebuah tabel :
    Syntax :

INSERT INTO [(field1, field2, … fieldn)] VALUES

    Bisa berbentuk nilai tunggal atau berbentuk SQL query. Syarat dari , jumlah, urutan dan jenis datanya harus sama.

    Contoh :

insert into Mahasiswa (nrp, nama, alamat) values (’5105100234′, ‘Rayna’, ‘Surabaya’);
  • Pembaruan data (Update) pada sebuah tabel :
    Syntax :

UPDATE SET = [,=, … =]

    Contoh : 

UPDATE Mahasiswa SET nama = ‘Rama’ WHERE nrp = ’5105100234′ ;
    • Penghapusan data (delete) pada sebuah tabel :
        Syntax :

    DELETE FROM [WHERE ]

        [Where ] sama seperti where yang dipelajari pada SQL.

        Contoh : 

    DELETE FROM Mahasiswa WHERE nrp = ’5105100234′:
            3. DCL (Data Control Language)

        Merupakan pemberian otoritas/hak pakai atau perintah-perintah yang dapat digunakan untuk menjaga keamanan basis data. Perintah tersebut dapat dipakai untuk menentukan akses basis data hanya dapat dilakukan oleh orang-orang tertentu dan dengan macam akses yang dibatasi pula.Yang biasa digunakan pada DCL ini ada Grant(memberi hak) dan revoke (mengambil hak).

        D. Jenis-jenis Database

        1. Design Database

        Desain Database atau basis data adalah proses menghasilkan detail (rinci) model data dari basis data (database).

        Tujuan dari desain database adalah untuk menentukan data-data yang dibutuhkan dalam sistem, sehingga informasi yang dihasilkan dapat terpenuhi dengan baik. Terdapat beberapa alasan mengapa desain database perlu untuk dilakukan, salah satu adalah untuk menghindari pengulangan data (data redundancy).

        Proses Desain Database ada enam yaitu : Analisis Persyaratan, Desain Database Konseptual, Desain Database Logika, Perbaikan skema, Desain Database fisik, Desain Aplikasi dan Keamanan.

        2. Skema Basis Data

        Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya atau disebut skema. Skema menggambarkan objek yang diwakili suatu basis data, dan hubungan di antara objek tersebut.

        Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan di mana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar Tabel.

        Skema basis data merupakan deskripsi dari basis data yang spesifikasinya ditentukan dalam tahap perancangan namun tidak terlalu diharapkan diubah setiap saat. Penggambaran skema umumnya hanya berisi sebagian dari detail deskripsi basis data.



        Sekelompok data yang tersusun dalam 1 (Satu) Baris Tekaman (Record/Tuple) dan tersimpan dalam basis data disebut dengan Instansi (Instance) atau Kejadian (Occurences).

        3. Transformasi


        Proses pendefinisian informasi dari satu level ke level lainnya.

            1. Tingkat Eksternal (View Level)


        Menerangkan view basis data dari sekelompok pemakai.

            2. Tingkat Konseptual (Conseptual Level)


        Menerangkan informasi basis data secara me-nyeluruh dengan menyembunyikan penyimpan-an data secara fisik.

            3. Tingkat Internal (Physical Level)


        Menerangkan struktur penyimpanan basis data secara fisik dan organisasi file yang digunakan. Contoh : sebuah file Pegawai yang akan didefinisikan.

        4. Data Independence

        Kapasitas untuk merubah skema pada satu level sistem basis data tanpa harus merubah skema pada level lainnya.

            1. Physical Data Independence

            Perubahan pada skema internal dimana tidak mempengaruhi kema konseptual dan eksternal.

            2. Logical Data Independence

            Perubahan pada skema konseptual dimana tidak mempengaruhi skema eksternal dan aplikasi program.

        5. DBMS

        DBMS merupakan software yang digunakan untuk membangun suatu sistem basis data yang “sempurna”. DBMS harus dapat mengatur basis data tersebut sehingga dapat tersimpan dengan baik tanpa menimbulkan kekacauan, dapat dipakai oleh banyak user sesuai dengan kepentingan masing-masing, melindungi dari gangguan pihak-pihak yang tidak berwenang.

        Berdasarkan orientasi pemakainya, kita dapat mengelompokkan DBMS dalam 2 kategori, yaitu :

            1. DBMS yang berorientasi untuk satu atau sedikit pemakai

        MS-Access, dBase/Clipper, FoxBase, Borland-Paradox merupakan contoh-contoh DBMS yang lebih diorientasikan untuk satu pemakai dan karena itu dapat dengan mudah dipasang di komputer pribadi (Personal Computer/PC). Pada DBMS kelompok pertama ini pengembangannya terjadi pada aspek-aspek :
        • Jika awalnya, struktur tabel hanya mencakup pendefinisian nama field, tipe dan ukurannya, DBMS yang lebih baru juga memasukkan feature boleh tidaknya field dikosongkan, nilai awal (default), deksripsi field dan bentuk validasi (pendefinisian domain nilai) sebagai bagian dari struktur tabel.
        • Tipe data yang dapat ditangani oleh DBMS terbaru sudah semakin banyak, seperti untuk mengakomodasi kebutuhan penyimpanan data teks yang panjang, teks berformat, gambar, data OLE, uang dan data auto increment (yang nilainya bertambah otomatis).
        • Bersama dengan komponen utamanya, DBMS kelompok ini juga seringkali dilengkapi dengan berbagai fasilitas tambahan untuk mempermudah pemakai dalam menggunakan DBMS seperti untuk pembuatan query, pembuatan laporan, pembuatan screen untuk berinteraksi dengan data, bahkan hingga pembuatan (men-generate) perintah makro basis data secara otomatis melalui pendifinisian menu dan tampilan layar.
        • DBMS ini lebih diorientasikan untuk pemakai tunggal, juga sering dimanfaatkan sebagai media pembangun aplikasi basis data, sehingga DBMS dan aplikasi basis data jadi menyatu bahkan aplikasi basis data jadi penyatu bahkan aplikasi basis data sendiri dianggap sebagai objek basis data sebagaimana tabel-tabel data yang kita gunakan untuk menyimpan data.
        Karena orientasi pemakai seperti itu, maka DBMS-DBMS kelompok ini, lemah dalam sejumlah aspek yang justru harus sangat diperhatikan pada kelompok DBMS yang kedua, seperti yang berkaitan dengan masalah pengamanan basis data, pemeliharaan basis data, mengendalikan persaingan pemakaian basis data dan lain-lain.

            2. DBMS yang berorientasi untuk banyak pemakai

        Oracle, Borland-Interface, MS-SQL Server, CA-OpenIngres, Sybase, Infomix, IBM-DB2 merupakan contoh-contoh DBMS yang lebih diorientasikan untuk banyak pemakai dan karena itu lebih ditunjukkan untuk pemakaian pada sistem jaringan komputer (LAN ataupun WAN). Tidak sebagaimana kelompok pertama, DBMS pada kelompok ini sangat tegas memisahkan fungsi pengelolaan basis data dan fungsi pembangunan aplikasi.

        Jika pada kelompok pertama, objek-objek yang dihasilkan oleh DBMS kelompok kedua bersifat sebaliknya. Transparansi hanya berlaku bagi DBMS yang bersangkutan, sehingga pemanfaatan objek-objek basis datanya hanya mungkin dilakukan dengan lebih dahulu mengaktifkan DBMS tersebut.

        Fungsi-fungsi pendukung (ultilitas) yang umumnya disatukan pada DBMS kelompok pertama, disediakan terpisah pada DBMS kelompok kedua ini, bukan saja karena fungsi-fungsi pendukung tersebut tidak relevan untuk selalu diaktifkan, tetapi juga karena fungsi pengelolaan yang ditangani DBMS kkelompok ini memang sudah sedemikian banyak dan jauh lebih penting. Pada seri-seri terbaru dari DBMS kelompok kedua ini, seperti juga d kelompok pertama, perluasan definisi struktur data dan pengkayaan tipe-tipe data baru juga diakomodasi.

        Perbedaan yang sangat mencolok di antara kedua kelompok DBMS terdapat pada lingkup fungsi pengelolaan basis data. Selain memiliki fungsi-fungsi standar (yang juga dimiliki oleh DBMS kelompok pertama) seperti pembentukan objek-objek basis data (tabel dan indeks), manipulasi data (penambahan, pengubahan, penghapusan data) dan pencarian data (query), fungsi pengelolaan DBMS kelompok kedua ini juga menangani aspek-aspek :
        • Pengaman objek basis data terhadap akses pemakai yang tidak berhak (aspek security) dan bentuk-bentuk operasi yang tidak diperbolehkan (aspek integrity).
        • Penanganan pemulihan data akibat kegagalan operasi basis data (aspek recovery), baik yang disebabkan oleh operasi-operasi basis data yang salah atau menimbulkan konflik, maupun yang disebabkan oleh fakor-faktor eksternal seperti mesin yang macet (crash), disk yang rusak atau terputusnya koneksi jaringan.
        • Pembuatan data cadangan (aspek backup) yang dapat dilakukan secara incidental maupun periodic yang dapat dilakukan secara statis (dengan menonaktifkan pemakaian basis data) ataupun secara dinamis (tanpa menghalangi pemakaian basis data oleh para pemakai).
        • Pengendalian persaingan pemakaian objek-objek basis data oleh banyak pemakai pada saat yang sama (aspek concurrency control) demi terjaminnya konsistensi data dan optimalisasi pemakaian setiap sumber daya mesin.
        • Optimalisasi pengerjaan query (aspek query processing) yang diberikan oleh aplikasi pada server DBMS demi peningkatan performansi/ kecepatan pengerjaannya.
        Optimalisasi pemanfaatan sumber daya (aspek parallel processing/database) dengan memperhatikan optimalisasi pemakaian sumber daya mesin seperti processor, disk dan memori utama jika tersedia lebih dari satu dalam sebuah mesin.

        Banyak program basis data yang sudah di gunakan, misalnya : Ms Access, My SQL, Oracle, SQL Server, Postgre, Fire Bird, Paradok, Interbase. Dan contoh yang lainnya adalah Sybase, DB2, Informix, FoxPro, Clipper, dan lain-lain.


        ENTITY RELATIONSHIP DIAGRAM (ERD)


        Basis data atau kerap disebut Database merupakan kumpulan informasi yang disimpan secara sistematis dalam perangkat komputer sehingga dapat dicari dan diperiksa melalui suatu program komputer saat informasi tertentu sedang dibutuhkan.

        Ketika mendokumentasikan data atau proses hingga menjadi database, kamu dapat meningkatkan pemahaman atas sistem tersebut dengan melihatnya dari beberapa perspektif.

        Oleh karena itu, agar dapat menjadi sistem database yang rapi dan terstruktur, kamu membutuhkan Entity Relationship Diagram (ERD).  Entity-relationship diagram (ERD) merupakan sebuah model untuk menyusun database agar dapat menggambarkan data yang mempunyai relasi dengan database yang akan didesain.

        Istilah dan Komponen Penyusun ERD

        Diagram ER biasanya berhubungan langsung dengan diagram data flow untuk menampilkan konten data store. Ketiga hal tersebut dapat membantu memvisualisasikan bagaimana data saling terhubung dan berguna untuk mengonstruksi basis data relasional. Saat kamu ingin mulai membuat ERD, ada beberapa istilah umum dan komponen ERD yang perlu kamu pahami terlebih dulu.

        Hal yang harus Anda lakukan sebelum mengetahui cara membuat entity relationship diagram adalah memahami beberapa komponen penyusunnya. Simak komponen penyusun ERD berikut ini :

        1. Entitas

        Kumpulan objek yang dapat diidentifikasikan secara unik atau saling berbeda. Biasanya, simbol dari Entitas adalah persegi panjang. Selain itu, ada juga “Entitas Lemah” yang dilambangkan dengan gambar persegi panjang kecil di dalam persegi panjang yang lebih besar. Disebut Entitas lemah karena harus berhubungan langsung dengan Entitas lain sebab dia tidak dapat teridentifikasi secara unik.


        2. Atribut

        Komponen kedua dari ERD adalah atribut. Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Atribut kunci merupakan hal pembeda atribut dengan entitas. Gambar atribut diwakili oleh Simbol Elips dan terbagi menjadi beberapa jenis :
        • Atribut Kunci (Key) : Atribut yang digunakan untuk menentukan entitas secara unik. Contohnya yaitu NPWP, NIM (Nomor Induk Mahasiswa).
        • Atribut Simpel : Atribut bernilai tunggal yang tidak dapat dipecah lagi (Atomic). Contohnya yaitu Alamat, Tahun Terbit Buku, Nama Penerbit.
        • Atribut Multinilai (Multivalue) : Atribut yang memiliki sekelompok nilai untuk setiap entitas instan. Contohnya yaitu Nama beberapa pengarang dari sebuah Buku Pelajaran.
        • Atribut Gabungan (Composite) : Atribut yang terdiri dari beberapa atribut yang lebih kecil dengan arti tertentu. Contohnya yaitu Nama lengkap yang terbagi menjadi Nama Depan, Tengah, dan Belakang.
        • Atribut Derivatif : Atribut yang dihasilkan dari atribut lain dan tidak wajib ditulis dalam diagram ER. Contohnya yaitu Usia, Kelas, Selisih Harga.


        3. Relasi

        Drajat relasi ini menunjukkan hubungan (korespondensi) minimum yang boleh terjadi dalam sebuah relasi antar entitas. Misalnya: pada relasi “bekerja untuk” pada entitas pegawai terhadap departemen Derajat relasi minimumnya adalah satu. Dalam arti lain, setiap pegawai minimal harus memiliki sebuah relasi terhadap Departemen, atau setiap pegawai selalu memiliki tempat di mana dia bekerja. Notasi (x,y) pada relasi menunjukkan derajat minimum (x) dan derajat maksimum (y) pada sebuah relasi. Partisipasi total bisa dinotasikan dengan memberikan derajat relasi minimum (x) = 1.

        Hubungan antara sejumlah Entitas yang berasal dari himpunan entitas yang berbeda. Gambar relasi diwakili oleh Simbol Belah Ketupat. Relasi juga terbagi menjadi beberapa jenis :
        • One to One (1-1) : Setiap Entitas hanya bisa mempunyai relasi dengan Satu Entitas lain. Contohnya yaitu Siswa dengan Nomor Induk Siswa (NIS), Mahasiswa dengan Nomor Induk Mahasiswa (NIM).
        • One to Many (1-N) : Hubungan antara Satu Entitas dengan beberapa Entitas. Contohnya yaitu Guru dengan Murid dan sebaliknya, Dosen dan Mahasiswa dan sebaliknya.
        • Many to One (N-1) : Hubungan beberapa Entitas dengan Satu Entitas.
        • Many to Many (N-N) : Setiap Entitas bisa mempunyai relasi dengan entitas lain, dan sebaliknya. Contohnya yaitu Siswa dan Ekstrakurikuler, Mahasiswa dan UKM.


        4. Garis

        Garis yang menghubungkan antar atribut untuk menunjukkan hubungan entitas pada diagram ER.

        Cara Membuat ERD (Entity Relationship Diagram)

        Setelah memahami beberapa istilah komponen dalam ERD dan contoh-contohnya, kamu sudah dapat membuat ERD-mu sendiri. Begini cara membuat ERD:

        1. Identifikasi Entitas

        Langkah pertama dalam membuat ERD adalah mengidentifikasi semua entitas yang akan kamu gunakan. Tulislah dalam sebuah persegi panjang dengan deskripsi singkat tentang informasi apa yang akan disimpan. Gambarlah sebuah persegi untuk setiap entitas yang terpikirkan olehmu, jangan lupa berikan space di sekitar kotak untuk informasi lainnya nanti.

        2. Identifikasi dan deskripsikan Relasi Entitas

        Cari 2 (Dua) Entitas yang sekiranya mempunyai hubungan. Jika sudah ditemukan, buatlah garis yang menghubungkan keduanya. Selanjutnya, bagaimanakah kedua entitas tersebut berhubungan? Kamu bisa membuat simbol diamond untuk mendeksripsikan hubungan kedua Entitas tersebut.

        3. Tambahkan Atribut

        Jangan lupa tambahkan atribut kunci untuk setiap entitas dengan menggunakan simbol oval. Ingat beberapa perbedaan atribut yang sudah disebutkan di atas.

        4. Penuhi Diagram

        Setelah kamu sudah membuat beberapa Contoh Entitas yang terhubungkan oleh garis dan membuat diamond di antara kedua entitas tersebut, berarti semua hubungan telah mempunyai deskripsi masing-masing. Mungkin tidak setiap entitas mempunyai hubungan, atau beberapa di antaranya malah memiliki relasi yang banyak, tapi itu tidak masalah, tetap lanjutkan ERD-mu.

        Setelah diagrammu sudah penuh, pastikan kembali hal-hal yang tadinya kamu ragukan, apakah entitas dan atribut yang belum mempunyai hubungan memang perlu ditulis? Jika tidak, kamu bisa menghapus atau mengubah nama entitas tersebut. Berikut ini ada beberapa tips agar ERD-mu efektif dan mudah dipahami :
        • Pastikan nama entitas hanya muncul sekali dalam setiap diagram.
        • Namai setiap entitas, relasi, dan atribut pada program.
        • Uji kembali dengan teliti relasi antarentitas. Apakah mereka dibutuhkan? Atau adakah hubungan-hubungan yang terlewatkan? Buanglah relasi yang berulang. Jangan gabungkan relasi dengan satu sama lain.
        • Gunakan warna terang yang berbeda untuk menandai porsi penting ERD-mu.
        Adapun prosedur atau langkah-langkah yang seharusnya dilakukan untuk menemukan atau mendefinisikan Entitas dalam suatu sistem data base adalah sebagai berikut :
        1. Buat ilustrasi atau gambaran cerita (role of bussiness) tentang sistem yang akan dicari entitasnya.
        2. Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut.
        3. Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut sebagai atribut.
        4. Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas)
        5. Menggambarkan entitas beserta atributnya menggunakan notasi simbol yang telah ditentukan.

        Contoh Entity Relationship Diagram (ERD)

        Langkah 1 : Membuat gambaran cerita tentang sistem kepegawaian di suatu perusahaan A.

        Perusahaan A yang memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen. Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian, perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan pegawai/keluarga.

        Langkah 2 : Menandai pada soal cerita diatas setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut.

        Perusahaan A yang memiliki 100 pegawai. Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen. Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian, perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan pegawai/keluarga.

        Langkah 3 : Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut sebagai atribut. Sehingga kita menemukan entitas dan kemungkinan atributnya adalah sebagai berikut :
        • Kandidat Entitas : kandidiat Atribut, kandidat atribut
        • Perusahaan : NoPerusahaan, nama, alamat
        • Pengawas : NoKTP, Nama, Alamat, Jenis kelamin, gaji
        • Lokasi : Lokasi
        • Pegawai : NoKTP, Nama, Alamat, Jenis kelamin, gaji
        • Departemen : Nomor, Nama, lokasi, jumlah pegawai
        • Proyek : Nomor, nama, lokasi
        • Tanggungan : nama, jenis kelamin, tanggal lahir, hubungan dengan pegawai

        Langkah 4 : Menentukan derajat / kardinalitas relasi untuk setiap himpunan Entitas

        Entitas A
        Relasi
        Entitas B
        Derajat
        Perusahaan
        Memiliki
        Pegawai
        1 : m
        Pegawai
        Dipimpin
        Pengawas
        m : 1
        Pegawai
        Bekerja
        Departemen
        m : 1
        Departemen
        Dikepalai
        Pegawai
        1 : 1
        Departemen
        Berada
        Lokasi
        1 : m
        Pegawai
        Bekerja
        Proyek
        1 : m
        Proyek
        Dikendalikan
        Departemen
        0 : N
        Departemen
        Mengendalikan
        Proyek
        1 : m
        Proyek
        Dikendalikan
        Departemen
        1 : 1
        Proyek
        Terdiri Dari
        Pegawai
        1 : m
        Pegawai
        Menanggung
        Tanggungan
        1 : m


        Langkah 5 : Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif



        Untuk mengimplementasikan sebuah Database, nantikan di Postingan selanjutnya tentang Penggunaan Database MySQL beserta dengan Program Java di Netbeans.

        Terima Kasih 😄😘👌👍 :)

        Wassalamu‘alaikum wr. wb.

        Ads