Ishfah Seven

Semangat dan Mimpi

Model E-R (Entitas-Relationship)

Leave a comment

Basis Data (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi. Istilah “basis data” berawal dari ilmu komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.

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: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek 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 dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan 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.

Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.

Lingkungan basis data adalah sebuah habitat di mana terdapat basis data untuk bisnis. Dalam lingkungan basis data, pengguna memiliki alat untuk mengakses data. Pengguna melakukan semua tipe pekerjaan dan keperluan mereka bervariasi seperti menggali data (data mining), memodifikasi data atau berusaha membuat data baru. Masih dalam lingkungan basis data, pengguna tertentu tidak diperbolehkan mengakses data, baik secara fisik maupun logis. (Koh, 2005, dalam Janner Simarmata & Imam Paryudi 2006: 33).

Perancangan basis data merupakan upaya untuk membangun sebuah basis data dalam suatu lingkungan bisnis. Untuk membangun sebuah basis data terdapat tahapan-tahapan yang perlu kita lalui yaitu:

  1. Perencanaan basis data
  2. Mendefinisikan sistem
  3. Analisa dan mengumpulkan kebutuhan
  4. Perancangan basis data
  5. Perancangan aplikasi
  6. Membuat prototipe
  7. Implementasi
  8. Konversi data
  9. Pengujian
  10. Pemeliharaan operasional

Terdapat dua jenis bahasa komputer yang digunakan saat kita ingin membangun dan memanipulasi sebuah basis data, yaitu:

  1. Data Definition Language (DDL)
  2. Data Manipulation Language (DML)

Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan merupakan perangkat basis data level tinggi (high level):

Selain perangkat lunak di atas, terdapat juga perangkat lunak pemrograman basis data level rendah (low level), diantaranya:

Basis Data

Seperti halnya perancang sebuah gedung yang membutuhkan model bangunan dalam bentuk gambar teknis atau cetak biru, perancangan basisdata juga memerlukan sebuah data model.

Data model ini berfungsi:

  • Memudahkan perancang database untuk memahami domain masalah.
  • Media komunikasi antara perancang database dengan client, maupun antara perancang database dan implementor.

Ada dua model yang umum digunakan: Model E-R dan Object Model. Modul ini membahas model E-R. Notasi-notasi grafik yang digunakan untuk menggambarkan model E-R disebut diagram E-R.

Keuntungan utama dari diagram E-R adalah:

  • Diagram mudah dibaca, bahkan oleh client.
  • Dapat ditransformasikan langsung menjadi tabel.

Entitas dan Relationship

Model E-R menggambarkan dunia nyata dalam dua kelompok yaitu entitas dan relationship. Entitas adalah objek/konsep yang memiliki karakter yang spesifik. Contoh entitas dalam domain perbankan adalah Nasabah dan Accout. Relationship adalah hubungan antara entitas. Contoh relationship yang dalam domain perbankan adalah relationship antara entitas nasabah dengan acccount (nasabah memiliki account).

Notasi untuk entitas pada diagram E-R adalah menggunakan segiempat. Sedangkan relationship menggunakan simbol diamond. Contoh:

BD01

Atribut

Atribut mendeskripsikan karakteristik entitas dan atribut. Contoh: atribut entitas nasabah adalah nomor nasabah, nama dan alamat. Pada diagram E-R, atribut digambarkan dengan lingkaran.

BD02

Atribut utama yang menjadi pembeda satu record dengan record lainnya disebut primary key. Pada gambar diatas “nomor” adalah primary key entitas nasabah dan “nomor acc” adalah primary key account.

Pemilihan entitas dan relationship dalam suatu domain masalah cenderung bersifat subyektif, setiap perancang database dapat menghasilkan rancangan yang berbeda-beda.

Contoh: Nasabah memiliki atribut Alamat. Alamat sendiri sebenarnya bisa dianggap sebagai suatu entitas dengan atribut “Kode Pos” dan “Kabupaten/kota”. Sehingga diagram untuk entintas nasabah dapat diubah menjadi:

BD03

Mana yang paling benar? Apakah alamat sebagai atribut ataukah alamat sebagai entitas?

Jawabannya tergantung pada domain masalah. Jika alamat sebagai atribut (Gambar 2), berarti satu nasabah memiliki tepat satu alamat. Sedangkan untuk alamat sebagai entitas (Gambar 3) , satu nasabah dapat memiliki lebih dari satu alamat dan satu alamat dapat ditempati lebih dari satu nasabah. Artinya solusi kedua cakupannya lebih luas dibandingkan yang pertama.

Tetapi untuk atribut “Nama” yang menempel kepada entitas “Nasabah” hal yang sama akan sulit dilakukan. Ini disebabkan atribut “Nama” secara umum tidak dapat dianggap sebagai suatu entitas yang terpisah.

Weak Entity dan Strong Entity

Strong entity adalah entitas yang berdiri sendiri dan sedangkan weak entity adalah entitas yang bergantung kepada strong entity. Weak entity   akan bergantung kepada strong entity dalam hubungan one to many.

Strong Entity memiliki primary key sedangkan weak entity tidak memiliki atribut yang dapat dijadikan primary key. Walaupun secara konsep tidak memiliki primary key, kita dapat menambahkan discriminator untuk membedakan setiap record.

Contoh: catatan transaski sebuah account adalah weak entity yang bergantung kepada account. Jika account dihapus maka otomatis catatan transaksi account tersebut juga turut terhapus. Pada diagram E-R, weak entity digambarkan dengan kotak dengan garis ganda.

BD04

Atribut “Trans Number” berperan sebagai discriminator untuk entitas transaksi.

Terlihat bahwa hubungan antar entitas account dan transaksi adalah one to many. Artinya satu account bisa memiliki beberapa transaksi (debet, kredit, bunga dst). Apa yang akan terjadi kalau hubungan antara account dan transaksi adalah one to one? Pada kasus tersebut, entitas transaksi bisa digabung dengan entitas account. Bagaimana jika hubungannya many to many? Silahkan menjadi latihan.

Mapping Cardinalities

Relationship connectivity menggambarkan hubungan pemetaan antara record-record pada entitas.

Ada tiga jenis relationship connectivity:

One to One (1-1). Satu record pada entitas pertama tepat dipetakan pada satu record di entitas lainnya. Contoh: Satu nasabah memiliki tepat satu account. Pada diagram E-R digambarkan dengan notasi panah.

BD05

One to Many (1-M). Satu record pada entitas pertama dapat dipetakan ke satu atau lebih record di entitas lainnya. Contoh: Satu nasabah dapat memilliki beberapa account. Pada diagram E-R, bagian “One” digambarkan dengan notasi panah.

BD06

Many to Many (1-M). Satu record pada entitas pertama dapat dipetakan ke satu atau lebih record di entitas lainnya dan demikian sebaliknya. Contoh: Satu nasabah dapat memilliki beberapa account dan satu account dapat dimiliki oleh beberapa nasabah (rekening bersama). Pada diagram E-R digambarkan dengan garis biasa.

BD07

Mengkonversi Model E-R ke Tabel Relational

Diagram E-R dapat diubah menjadi kumpulan tabel yang sesuai dengan cara yang relatif mudah. Berikut langkah-langkahnya:

  • Ubah setiap entitas menjadi tabel dan atribut pada entitas tersebut menjadi fieldnya.
  • Untuk relationship many to many, ubah setiap relationship menjadi tabel dan atribut pada relationship menjadi fieldnya ditambah field primary key milik entitas yang terhubung dengan relationhsip tersebut.
  • Untuk relationhsip one-to-many dan one-to-one, relationship tidak perlu dijadikan tabel. (untuk contoh tentang one to many dan one to one, lihat bab berikutnya tentang contoh kasus).

 Contoh:

BD08

Diagram E-R diatas akan diubah menjadi database dengan format Access.

Langkah 1: Entitas diubah menjadi tabel dengan atribut menjadi kolomnya

Tabel: NASABAH

Field:

NOMOR_NAS: TEXT (10) (Primary Key = PK)

NAMA: TEXT (25)

ALAMAT: TEXT(50)

Tabel: ACCOUNT

Field:

NOMOR_ACC (PK)

SISA_UANG: CURRENCY

Langkah 2: Relationship dibuah menjadi tabel dengan atribut menjadi field dan tambahan atribut primary key milik entitas yang terhubung dengannya.

Tabel: NAS_ACCOUNT

Field:

NOMOR_NAS: TEXT(10)

NOMOR_ACC: TEXT(10)

TANGGAL: DATE

Mengkonversi Weak Entity

Karakteristik weak entity adalah tidak memiliki primary key dan bergantung kepada strong entity dalam hubungan many to one. Pada weak entity, relationship yang terhubung dengannya tidak perlu dijadikan tabel.

Contoh:

BD09

Entitas account dijadikan tabel sepeti biasa.

Entitas transaksi dijadikan tabel:

Tabel: TRANSAKSI

Field:

NOMOR_NAS: TEXT(10)

TRANS_NUMBER: LONG INTEGER (UNIQUE)   ß Discriminator

JENIS_TRANS: INTEGER

Relationship LOG tidak perlu dijadikan tabel

Contoh Kasus

Masalah:

Buatlah model E-R dan implementasinya di tabel relasional untuk mahasiswa yang mengikuti suatu organisasi. Setiap mahasiswa dapat memiliki lebih dari satu organisasi. Catat informasi jurusan dan fakultas mahasiswa tersebut.

Solusi:

Berdasarkan cerita di atas ada empat entitas yang dapat diidentifikasi, yaitu MAHASISWA, ORGANISASI, JURUSAN dan FAKULTAS. Tentukan atribut setiap entitas.

Kemudian tentukan hubungan antar entitas. MAHASISWA berhubungan dengan ORGANISASI. JURUSAN berhubungan dengan FAKULTAS. MAHASISWA juga berhubungan dengan JURUSAN. Berikut gambar model E-R-nya:

BD10

Selanjutnya, lihat kardinalitasnya. Hubungan MAHASISWA dengan ORGANISASI adalah Many-Many (satu mahasiswa dapat mempunyai banyak organisasi dan satu organisasi dapat memiliki banyak mahasiswa). Hubungan antara MAHASISWA dengan JURUSAN adalah One-One (satu mahasiswa tepat memiliki satu jurusan). Hubungan antara FAKULTAS dan JURUSAN adalah One – Many (Satu Fakultas dapat memiliki beberapa jurusan)

Kardinalitas sangat penting dalam pemodelan E-R kerena menjadi penentu proses pemetaan model E-R ke tabel relasional.

Selanjutnya adalah membuat database berdasarkan model E-R ini.

Langkah pertama: Ubah setiap entitas menjadi tabel

Tabel MAHASISWA

Nama Field Tipe
NIM TEXT (PK)
NAMA TEXT

Tabel ORGANISASI

Nama Field Tipe
KODE_ORG TEXT (PK)
NAMA_ORG TEXT

 

Tabel JURUSAN

Nama Field Tipe
KODE_JUR TEXT (PK)
NAMA_JUR TEXT


Tabel FAKULTAS

Nama Field Tipe
KODE_FAK TEXT (PK)
NAMA_FAK TEXT


Langkah kedua: Tangani relationship

 

Many to Many: MHS_ORG.

Ubah menjadi tabel

One to Many: MHS_JUR, JUR_FAK

 

Tidak perlu dijadikan tabel. Tapi tambahkan referensi JURUSAN ke MAHASISWA, yaitu field KODE_JUR yang menjadi foreign key.

Tabel MAHASISWA akan berbentuk:

Tabel MAHASISWA

Nama Field Tipe
NIM TEXT (PK)
NAMA TEXT
KODE_JUR TEXT (FK)

FK = Foreign key

Lakukan hal yang sama relationship JUR_FAK

Tidak perlu dijadikan tabel. Tambahkan referensi FAKULTAS ke JURUSAN

Tabel jurusan akan berbentuk

Tabel JURUSAN

Nama Field Tipe
KODE_JUR TEXT (PK)
NAMA_JUR TEXT
KODE_FAK TEXT (FK)

Referensi

  1. Handout Matakuliah Basisdata -Yudi Wibisono, S.T.
  2. C.J Date (1990). Database System. Addison-Wesley
  3. Korth, H.F, Silberschatz, A. (1991 ). Database System Concept. McGraw-Hill
  4. Univ. of Texas at Austin (2004). Introduction to Data Modeling, (http://www.utexas.edu/its/windows/database/datamodeling). Diakses tanggal 25 Februari 2005

Pelajari materi pemograman lainnya di sini.

Apa komentarmu tentang postingan ini?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s