STUDI KASUS ERD (Pokok Bahasan 7)

Berikut ini adalah salah atu contoh penerapan ERD

Sistem Informasi Reservasi Hotel

Entitas yang akan digunakan pada system yang akan dibuat meliputi:

  1. Entitas tamu
  2. Entitas pesan
  3. Entitas kamar
  4. Entitas jenis_kamar
  5. Entitas menu_resto
  6. Entitas trans_resto
  7. Entitas trans_hotel
  8. Entitas jenis_menu

Setelah membuat daftar entitas yang akan digunakan, selanjutnya tetukan hubungan antar entitas tersebut, seperti pada gambar berikut:

Setelah itu deklarasikan entitas-entitas tersebut ke tabel;

  • Entitas tamu

  • Entitas pesan

  • Entitas kamar

  • Entitas jenis_ kamar

  • Entitas menu_resto

  • Entitas trans_resto

  • Entitas trans_hotel

  • Entitas jenis_menu

dan Tahap Selanjutnya merelasikan/menghubungkan tabel demi tabel;

Alat Bantu Perancangan Basis Data (ERD dan Normalisasi) – (Pokok Bahasan 6)

ERD (Entity Relationship Diagram)

ERD  merupakan  notasi  grafis  dalam  pemodelan  data  konseptual  yang mendeskripsikan  hubungan  antara  penyimpanan  (tabel).  ERD  digunakan  untuk memodelkan  struktur  data  dan  hubungan  antar  data,  kita  dapat  menguji  data dengan mengabaikan proses yang harus dilakukan serta bisa mengetahui data apa yang  kita  perlukan,  serta  bagaimana  data-data  tersebut  bisa  saling  berhubungan.

Pada dasarnya terdapat 3 macam simbol yang digunakan untuk menggambarkan struktur dan hubungan antar data, yaitu :

1. Entity

Entity adalah obyek yang dapat dibedakan dalam dunia nyata

  • Entity set adalah kumpulan dari entity yang sejenis
  • Entity set dapat berupa :

–  Obyek  secara fisik : Rumah, Kendaraan, Peralatan

–  Obyek secara konsep : Pekerjaan , Perusahaan, Rencana

 Suatu  objek,  merupakan  bagian  dari  sitem  yang  dapat  diidentifikasi  dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang  akan  dibuat.  Entity  dapat  berupa  sebuah  kelompok  dari  sesuatu,  harus dapat dibedakan.

2. Atribut

Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Nilai Atribut  merupakan suatu data aktual atau informasi yang disimpan  pada suatu atribut

di dalam suatu entity atau relationship.

Jenis-jenis atribut :

  • Key  : Atribut yang digunakan untuk menentukan suatu entity secara unik.
  • Atribut Simple : Atribut yang bernilai tunggal.
  • Atribut Multivalue : Atribut yang memiliki sekelompok nilai untuk setiap instan entity.
  • Atribut Composite  : Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.

3. Relationship (hubungan)

Merupakan penghubung antar satu entiti dengan entiti yang lain, ataupun satu entiti ke dalam entiti itu sendiri. Relationship dibagi menjadi 3 jenis, yaitu :

  • Satu ke satu (1-1)

Seorang supir hanya dapat menyetir satu mobil. Satu mobil pun hanya bisadigunakan oleh seorang supir.

  • Satu ke banyak/ banyak ke satu(1-n / n-1)

Satu kelas dapat terdiri dari banyak siswa, dan banyak siswa bisa belajar di dalam satu kelas. Tapi tidak sebaliknya, seorang siswa tidak bisa belajar di kelas yang berbeda.

  • Banyak ke banyak (n-n)

Seorang  karyawan  bisa  mengerjakan  satu  atau  lebih  proyek.  Dan  setiap proyek bisa dikerjakan oleh seorang atau lebih karyawan.

Transformasi dari ERD ke Database Relasional

  • Setiap tipe Entity  dibuat suatu relasi yang memuat semua atribut simple, sedangkan untuk atribut composite  hanya dimuat komponen-komponennya saja.

PEGAWAI (NOPEG, ALM1, KDPOS, …….)

  • Setiap  relasi  yang    mempunyai    atribut  multivalue,  buatlah  relasi  baru  dimana  Primary Key nya  merupakan    gabungan  dari  Primary  Key  dari  relasi  tersebut  dengan  atribut multivalue.

LOKPR(NOPRO, LOKASI)

  • Setiap  Unary  Relationship  1:N,  pada  relasi  perlu  ditambahkan  suatu  foreign  key      yang menunjuk ke nilai  primary keynya.

PEGAWAI (NOPEG, ….., SUPERVISOR-ID)

  • Setiap    Unary    Relationship      M:N,    buatlah    relasi      baru          dimana    primary  keynya  merupakan gabungan dari dua atribut dimana  keduanya  menunjuk  ke primary key relasi awal dengan penamaan yang berbeda.

KOMBAR (NOBAR, NOKOMP , JUMLAH)

  • Setiap  Binary  Relationship    1:1,  dimana  Participation  Constraint  keduanya  total,  buatlah suatu relasi gabungan dimana Primary Keynya dapat dipilih salah satu.

PEGAWAI (NOPEG, … , NOPRO, …).

  • Setiap  Binary  Relationship  1:1  dan  salah  satu  Participation  Constraintnya  Total,  maka Primary Key pada relasi yang Participation Constraintnya Partial menjadi Foreign Key pada relasi yang lainnya.

BAGIAN (NOBAG, … , MANAGER)

  • Setiap  Binary  Relationship  1:1,  dimana  kedua    Participation  Constraintnya  partial,  maka selain kedua relasi perlu dibuat  relasi baru yang berisi Primary Key  gabungan dari Primary Key kedua tipe Entity yang berelasi.

PEKERJAAN ( NOPEG, NOPRO, …)

  • Setiap Binary Relationship 1 : N, dimana tipe Entity  yang bersisi N mempunyai  Participation Constraint Total, maka Primary Key pada relasi  yang bersisi 1 dijadikan Foreign Key  pada relasi yang bersisi N.

PROYEK (NOPRO,  … ,  NOBAG)

  • Setiap Binary Relationship 1 : N, dimana tipe Entity  yang bersisi N mempunyai Participation Constraint  partial,  buatlah  relasi  baru  dimana  Primary  Keynya  merupakan    gabungan  dari Primary  Key kedua tipe Entity yang berelasi.

 PEKERJAAN (NOPEG, NOPRO, ……)

  • Setiap Binary Relationship M:N, buatlah  relasi baru dimana  Primary   Keynya merupakan  gabungan dari Primary Key  kedua  tipe Entity yang berelasi.

PEKERJAAN (NOPEG, NOPRO, …..)

  • Setiap  Ternary  Relationship,  buatlah    relasi  baru  dimana  Primary  Keynya  merupakan gabungan dari Primary Key ketiga tipe Entity yang berelasi.

PEKERJAAN ( NOPEG, NOPRO , NOKOT)

  • Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua atributnya dimana PrimaryKeynya adalah gabungan dari Partial Key dan Primary Key dari relasi induknya ( identifying owner).

TANGGUNGAN (NOPEG, NAMA, ….)

Hasil Transformasi dari  Diagram ER ke database relasional :

Skema Database

  • PEGAWAI         (NOPEG, NAPEG, ALM1, KDPOS, TGLLAH, UMUR,  SUPERVISOR-ID, NOBAG)
  • BAGIAN            (NOBAG, NABAG, LOKASI, MANAGER)
  • PROYEK          (NOPRO, NAPRO, NOBAG)
  • LOKPR             (NOPRO, LOKAPR)
  • PEKERJAAN     (NOPEG, NOPRO, JAM)
  • TANGGUNGAN (NOPEG, NAMA, JNKELT,HUBUNGAN)

Normalisasi Basis Data

Normalisasi   merupakan  sebuah   teknik  dalam  logika   desain  sebuah  basis  data,  yaitu  mengelompokkan  atribut  dari  suatu  relasi  sehingga  membentuk  struktur  relasi  yang  baik (tanpa redudansi).

Tujuan dari Normalisasi

  • Untuk menghilang kerangkapan data
  • Untuk mengurangi kompleksitas
  • Untuk mempermudah pemodifikasian data

Ketergantungan Fungsional : Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X –> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R

Ketergantungan Fungsional Penuh : Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key gabungan)

Ketergantungan Fungsional Transitif : Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z  tergantung pada atribut Y pada relasi R.  ( X  –> Y,    Y  –> Z,  maka     X  –>  Z )

Proses Normalisasi

1. Normalisasi ke-1

Suatu data dikatakan normal pertama jika sudah memiliki karakter berikut ini :

  • Mendefinisikan atribut kunci (key).
  • Tidak ada grup yang berulang.
  • Semua atribut bukan key tergantung pada atribut kunci.

2. Normalisasi ke-2

Suatu data dikatakan normal kedua jika sudah memiliki karakter berikut ini :

  • Sudah memenuhi dalam bentuk normal pertama.
  • Sudah  tidak  ada  ketergantungan  parsial,  dimana  seluruh  field  tergantung  pada sebagian key field.

3. Normalisasi ke-3

Suatu data dikatakan normal jika sudah memiliki karakter berikut ini :

  • Sudah berada pada bentuk normal kedua.
  • Tidak ada ketergantungan transitif (field bukan key bergantung pada field bukan key lainnya).

Daftar Referensi :

NENDEN SRI JAYANTINA. 2010. PERANCANGAN APLIKASI INVENTARIS ALAT DAN BAHAN DI LABORATORIUM PPPPTK IPA BANDUNG . UNIVERSITAS KOMPUTER INDONESIA :BANDUNG

kk.mercubuana.ac.i

RDBMS (Pokok Bahasan 5)

Relational  Database   Management   System   (RDBMS)   adalah   perangkat   lunak   untuk  membuat  basis  data  relasional  dan  menyaring  informasi  didalamnya.  (William, 1994). Model database ini dikemukakan pertama kali oleh EF codd,  seorang  pakar  basisdata.  Model  ini  sering  disebut  juga  dengan database relasi.

Sistem   Manajemen   Basis   Data   Relasional   (Relational   Database Management System – RDBMS) RDBMS  merupakan  sekumpulan  data  yang  saling  beruhubungan  yang  disimpan sedemikian rupa sehingga mudah diambil informasinya bagi pengguna. Ada tiga prinsip dalam RDBMS :

  • Data Definition : Mendefinisikan  data  yang  akan  dibuat,  seperti  nama  tabel  dan  field  serta  keterangan mengenai field tersebut.
  • Data Manipulation : Memanipulasi  data  yang  sudah  dibuat,  seperti  mengubah  nama  field  dan keterangannya, menghapus record.
  • Data Control

Winantu (2006) menuliskan ada beberapa contoh produk DBMS terkenal  yang menggunakan model relasional yaitu:

  •   DB2 (IBM).
  •   Rdb/VMS (Digital Equipment Corporation).
  •   Oracle (Oracle Corporation).
  •   Informix (Informix Corporation).
  •   Ingres (ASK Group Inc).
  •   Sybase (Sybase Inc).

DB2

DB2 merupakan sebuah RDBMS buatan IBM yang dapat berjalan di multi platform dan berbagai sistem operasi. Seiring berjalannya waktu, DBMS semakin kaya fitur dan dan semakin powerful. Saat ini DB2 sebagai DBMS banyak digunakan di perusahaan-perusahaan besar, dan juga sudah mulai dipelajari di berbagai perguruan tinggi berbasis TI

DB2 Pertama kali dibuat pada tahun 1983 di MVS.  DB2  adalah  software  yang  mempunyai  sejarah  yang  cukup  lama,  dan    merupakan  database  pertama  yang  menggunakan  SQL.  Nama  DB2  diberikan  pada Database  Mangement  System  (DBMS)    ketika  IBM  melepaskan  SQL/DS.  Software database  ini  juga  telah  mengadopsi  relational  mode  yang  merupakan  ide  DrF.Codd  yang  merupakan  pegawai  IBM.  Untuk  mendukung    gagasan  relational  database  ini  IBM   membuat   sebuah   bahasa   khusus   dalam   melakukan   query   database   yaitu SQL(Structure Query Language).

  • DB2 PRODUCT FAMILY

IBM   DB2   Family   dari   database   management   systems   menangani   ruang   lingkup hardware  platform  yang  besar  mulai  dari  mainframe  sampai  dengan  mesin-mesin  yang berbasiskan  Intel,  server  IBM  dan  non  IBM  RISC  serta  workstation,  massively  parallel processors,  Sistem  mid  range  AS/400,  dan  sistem  mainframe  yang  dijalankan  dengan sistem operasi VM, VSE dan MVS. Dengan tambahan database engines yang dijalankan pada   setiap   platform   tersebut.   DB2   family   termasuk   solusi   “middleware”   untuk pengaksesan basis data yang heterogen, replikasi data dan database systems management  yang berjalan di seluruh platform.

  • DB2 OBJECT

pengaturan obyek-obyek  DB2  yang  dibuat  oleh  software  DB2 merupakan bagian penting pada  Sistem  Administrator  DB2 .

DB2 memiliki beberapa objek di  antaranya  : Tabel  dan  View  yang  merupakan bagian dari pemrosesan aplikasi serta digunakan  oleh  application  programmer  dan  end  user. Selain itu,  obyek-obyek  yang biasanya tidak  terlihat  pada  tingkatan  aplikasi  seperti  table  space,  index,  database,  dan  storage group juga merupakan bagian dari DB2

  • DB2 UTILITY

Digunakan untuk menjalankan fungsi-fungsi system administrasi yang berbeda-beda, seperti loading tables, recover, repairing data, serta monitoring dan tuning sistem DB2.

Utilitas terbagi dalam 3 kategori:

1.  Utilitas Setup atau Move

2.  Utilitas Maintenance

3.  Utilitas Recovery

ORACLE

Basis data Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS.

Oracle Corporation merupakan perusahaan yang mengembangkan Basis data oracle, Perusahaan ini ada pada tahun 1983. Namun sebelumnya perusahaan ini bernama Software Development Laboratories (SDL), yang mana merupakan tempat cikal bakal lahirnya Basis data ini. Lewat perusahaan konsultasi ini, Larry Ellison, Bob Miner dan Ed Oates pertama kali mengembangkan Basis data Oracle pada tahun 1977. Perusahaan perangkat lunak Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform).

Perintah-perintah SQL pada Oracle:

  1. DML (Data Manipulaion Language) : INSERT, UPDATE, DELETE, MERGE
  2. DDL (Data Definition Language) : CREATE, ALTER, DROP, RENAME
  3. DCL (Data Control Language) : GRANT, REVOKE
  4. Transaction Control : COMMIT, ROLLBACK, SAVEPOINT

Perbedaan antara SQL dengan SQL*Plus

SQl merupakn sebuah bahasa yang Standard ANSI sedangkan SQL*Plus adalah sebuah ligkungan milik Oracle . Selain itu pada SQl bisa dilakukan penyingkatan Keyword dan perintah-perintah nya dapat memanipulasi data dalam data base, sedangkan SQL * Plus adalah Kebalikannya.

PL/SQL

PL/SQL, singkatan  dari  Procedural  Language/Structured  Query  Language  merupakan  sebuah  penggabungan  antara bahasa pemrograman prosedural (PL) dan SQL syntax.

Kompilasi  dan  sistem  runtime  dari  PL/SQL  adalah  teknologi,  bukan  produk  yang berdiri sendiri.Pikirkan teknologi ini sebagai  engine  yang meng-compile  dan mengeksekusi blok-blok  PL/SQL  dan  subprogram.  Engine  dapat  diinstall  di  dalam  Oracle  server  atau  di dalam  aplication  development  tool  seperti  Oracle  Forms  atau  Oracle  Reports.  Sehingga, PL/SQL dapat berada di dua lingkungan:

  • Oracle database server
  • Oracle tools

Manfaat PL/SQL

`1.  Mendukung SQL : PL/SQL  mengijinkan  kita  untuk  menggunakan  seluruh  perintah-perintah  data  manipulation,  cursor  control,  dan  transaction  control  SQL  begitu  pula dengan   functions,   operators,   dan   pseudocolumns.   Sehingga,   kita   dapat memanipulasi  data  secara  lebih  fleksibel  dan  aman

2.  Mendukung Object-Oriented Programming : PL/SQL  juga  meningkatkan  performa  dengan menambahkan  kekuatan  pemrosesan prosedural kepada tool-tool Oracle

3. Portabilitas Penuh: Aplikasi-aplikasi yang ditulis dengan PL/SQL portabel untuk setiap sistem  operasi dan platform dimana Oracle berjalan

Contoh perintah SQL pada PL/SQL yaitu kita mendeklarasikan konstanta dengan nama credit_limit:

credit_limit CONSTANT REAL:= 5000.00;

Sumber Referensi:

http://www.gramedia.com/index.php/book/detail/9789792781557/IBM-Database-DB2-for-Beginners

http://staf.cs.ui.ac.id/WebKuliah/BasisDataB2006

http://www.ebizeducation.com/index.php/training/oracle

http://blog.uin-malang.ac.id/sleeping/files/2010/10/PLSQL