Rabu, 25 April 2012

  


ENTITY- RELATIONSHIP MODEL (ERD)

      
       Sebelum membahas tentang entity-relationship model (ERD) sebaiknya kita mengetahui tentang model data di dalam system basis data. Model data merupakan sekumpulan cara untuk mendeskripsikan data-data, hubungan antara data yang satu dengan yang lainnya, serta batasan konsistensinya.

                Model data dibagi menjadi dua yaitu :
  Ø  Model  Entity Relationship Diagram (ERD) merupakan model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas tersebut.
 Ø  Model Relasional merupakan model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut.


 Entity Relationship Diagram yang saya akan bahas yaitu :
 Ø  Entity Relationship Model 
 Ø  Entity Relationship Diagram (ERD)

Entity Relationship Model
                Entity Relationship Model merupakan  suatu penyajian data dimana di dalamnya terdapat entitas (entity), atribut (attribute)  dan hubungan data antar entitas (relationship).

Entity merupakan obyek yang dapat dibedakan dalam dunia nyata. Dan sebuah entitas itu pastinya selalu mempunyai atribut, karena atribut yang dapat membedakan antara dirinya dengan obyek yang lain. Biasanya pngertian entitas itu lebih luas dibandingkan dengan atribut.
Contoh : Entitas Mahasiswa
                  Atrbutnya : Nama, NIM, Alamat, Jenis Kelamin, dll.

Entity sets merupakan kumpulan dari entity yang sejenis atau mempunyai tipe yang sama.
Ø  Entity set dapat berupa :
o   Obyek secara fisik : Rumah, Kendaraan, Peralatan
o   Obyek secara konsep : Pekerjaan , Perusahaan, Rencana

Atribut
                Atribut yaitu karakteristik yang melekat pada entity atau relationship, yang dapat menjelasan secara detail tentang entity atau relationship. Dapat diartikan juga sebagai ciri umum semua entitas atau semua yang ada dalam entitas.
       
Contoh atribut dari entity pegawai :

Ø  Nama
Ø  NIP
Ø  Alamat

 VALUE SET (Domain) dari Atribut
Merupakan Kumpulan nilai yang dapat dimiliki oleh atribut dari suatu entitas. Definisi domain dari suatu atribut akan mencakup : tipe data, panjang, format, nilai yang memungkinkan, keunikan dan kemungkinan data null.

Contoh :
  • Atribut nama pada entitas mahasiswa domainnya nama orang
  • Atribut nama pada entitas barang domainnya nama barang

Jenis-jenis atribut :
            Setiap atribut pasti selalu mempunyai jenis dan pengertian yang bebeda, agar lebih jelasnya lagi mari kita lihat pengertian pada masing-masing jenis atribut di bawah ini :

1.      Atribut sederhana ( atomic attribute )
                Merupakan atribut yang tidak dapat dibagi-bagi menjadi atribut yang lebih mendasar.
                Contoh :
                                        atribut nama_pegawai  dalam entitas pegawai.
2.      Atribut komposit ( composite attribute )
                Merupakan atribut yang terdiri dari beberapa atribut yang lebih mendasar.
                Contoh :
                                Entity mahasiswa memiliki atribut alamat_mhs  yang terdiri dari alamat   
                                 nama_kota, dan kode_pos.
3.       Atribut Berharga Tunggal ( Single-valued Attribute )
                Merupakan atribut yang hanya mempunyai satu harga atau nilai untuk suatu entitas       tertentu.
                Contoh :
                               atribut nim pada entity mahasiwa.
4.       Atribut Berharga Banyak ( Multi-valued Attribut )
Merupakan atribut yang dapat terdiri dari sekumpulan harga atau nilai untuk suatu entitas tertentu.
                Contoh :  
                              atribut hobi pada entity mahasiswa.
5.       Atribut Derivatif ( Derived Attribute )
Merupakan suatu atribut yang dihasilkan dari atribut lain.
                Contoh :
                              atribut umur yang dapat dihasilkan dari atribut tgl_lahir.


Simbol-Simbol Atribut (oval)
            Kita sudah sedikit menyinggung tentang pengertian dan jenis-jenisnya dan sekarang saya akan menjelaskan tentang gambar smbol dari jenis-jenis atribut di atas sebagai berikut :


Relationship
                Setelah kita membahas dan mempelajari tentang entity, atribut serta jenis dan simbol-simbolnya. Maka sekarang kita akan membahas atau menjelaskan tentang relationship (hubungan). Relationship merupakan hubungan yang terjadi antara satu entity atau lebih .
                Sedangkan, pengertian dari Relationship set merupakan kumpulan relationship yang sejenis.
Simbol dari Realationship itu sendiri dapat dikatakan berbentuk belah ketupat (wajik) seperti contoh gambar dibawah ini :


Agar lebih jelasnya lagi tentang pengertian relationship maka saya akan memberikan contoh, sebagai contoh dasar dari relationship yaitu :

  •      Entity dosen dengan
                                NIP=“25123” dan NAMA=“Rika Santika”
                                Melakukan hubungan atau berelasi dengan entity sebuah mata kuliah                                                   kd_mk=“BD12” dan nama_kul=“Kalkulus 2”.

·         Relasi diantara kedua entity :
                Dosen sedang mengajar mata kuliah tersebut.


Cardinality Ratio
                Cardinality ratio digunakan untuk menjelaskan tentang batasan jumlah keterhubungan satu entity dengan entity yang lainnya.


Jenis Cardinality Ratio

v  1 : 1 (One To One)
               
                Sebuah entitas pada entity A mempunyai hubungan paling banyak satu entitas dengan entity B, begitupun juga sebaliknya.
Contoh : Seorang manager hanya akan memimpin satu perusahaan saja, begitu juga sebaliknya. Di dalam perusahaan hanya akan memiliki satu orang manager saja.



v  1 : N/ N:1 (One To Many atau Many To One)
               
                Sebuah entity A dihubungkan dengan sejumlah entity B.
Contoh : Banyak karyawan bekerja untuk satu perusahaan, atau satu perusahaan mempunyai banyak karyawan yang bekerja.




v  M : N (Many-To-Many)
               
                Suatu entity A dapat berhubungan banyak dengan sejumlah entity B dan entity
B dapat berhubungan banyak dengan sejumlah entity di A.
Contoh : Satu proyek mempunyai banyak pegawai, satu pegawai boleh bekerja di beberapa proyek.




Symbol E-R Diagram




Tahap Pembuatan Entity Relationship Diagram

1.Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat.
2.Menentukan atribut-atribut dari setiap entity.
3.Menentukan atribut primary key dari setiap entity.
4.Menentukan relationship antar entity.
5.Menentukan atribut-atribut dari setiap relationship (jika ada).
6.Menentukan Cardinality Ratio.
7.Menentukan Participation Constraint.


Contoh Pembuatan Entity Relationship Diagram

PERPUSTAKAAN


a. Mengidentifikasikan entity-entity yang ada.

                entity-entity : Pegawai, Buku, Anggota.

           

            b. Menentukan atribut-atribut dari setiap entity

            

            c. Menentukan relationship antar entiy.                                                                                                                                                      
           

            d.  Menentukan atribut-atribut dari setiap relationship.
            

              e.  Menentukan Cardinality Rasio
              

Entity Relationship Diagram Perpustakaan




 DESAIN DATABASE

               
               
                Desain Database merupakan  proses dimana digunakan untuk menentukan isi dan
pengaturan data yang dibutuhkan untuk mendukung berbagai rancangan sistem.

                Setelah membahas pengertian Desain Database, maka selanjutnya kita akan membahas tentang tingkat dalam Desain Database. Didalam Desain Database terjadi pada dua tingkat, yaitu :

·         Pada tingkat pertama, perencanaan sistem, analisis dan rancangan umum dilaksanakan untuk menetapkan kebutuhan pemakai. Tingkat perancangan database ini melibatkan tahap front-end, bebas dari perancangan database tertentu atau Database Management System (DBMS).

·         Pada tingkat kedua, rancangan umum, seperti diagram entitas relasi tingkat tinggi, ditransformasikan (atau dikomposisikan) ke dalam perancangan database rinci untuk sebuah DBMS tertentu yang akan digunakan untuk mengimplementasikan sistem total.

                Selain tingkat didalam Desain Database juga disebutkan tentang model database, disini disebutkan ada 3 (tiga) model database yang cukup dikenal, yaitu :

o   Model Hierarkikal
o   Model Jaringan
o   Model Relasional

Tujuan Basis Data :
·         Untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user
                secara khusus dan aplikasi-aplikasinya.
·         Memudahkan pengertian struktur informasi
·         Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek
                penampilan (response time, processing time, dan storage space)

Langkah-langkah yang baik dan benar untuk mendesain sebuah database:


a.       Analisis Persyaratan

        Langkah pertama dalam mendesain sebuah aplikasi database yaitu memahami dan mengetahui data yang harus disimpan di dalam database, aplikasi apa yang harus dibangun diatasnya, dan jenis operasi apa yang lebih banyak digunakan, dan subjek untuk melakukan persyaratan yang ada.
        Dengan kata lain, kita harus tahu apa yang diinginkan pengguna database tersebut. Biasanya ini sebuah proses informal yang melibatkan partisipasi kelompok pengguna, studi tentang lingkungan pengoperasian saat ini dan bagaimana perkiraan perubahan lingkungan tersebut, analisis dokumen yang ada dalam suatu aplikasi yang diharapkan akan diganti atau dilengkapi oleh database, dan seterusnya. Banyak metodologi yang diusulkan untuk menyusun dan menampilkan informasi yang dikumpulkan pada langkah tersebut. Beberapa alat otomatis pun telah dikembangkan untuk mendukung proses ini.

 b.      Desain Database Konseptual
               
                Informasi dikumpulkan pada saat analisis persyaratan digunakan untuk mengembangkan deskripsi data tingkat tinggi yang harus disimpan dalam database, bersama dengan batasan yang telah diketahui untuk menetapkan penyimpanan data tersebut. Langkah ini sering dilakukan dengan menggunkan model ER. Model ER yaitu salah satu dari model data tingkat tinggi, atau semantik, yang digunakan dalam desain database. Tujuannya untuk menciptakan gambaran sederhana tentang data yang mirip dengan pemikiran pengguna dan pengembang mengenai data tersebut.

       c.       Desain Database Logika

                Kita harus memilih sebuah DBMS untuk mengimplementasikan desain database kita, dan mengubah konsep desain database menjadi sebuah skema database dalam model data dari DBMS terpilih. Kitah hanya akan memperhatikan DBMS relasional, dan dengan demikian tugas desain logika yaitu mengubah skema ER menjadi skema database relasional.

d.      Perbaikan Skema

                Langkah keempat dalam desain database yaitu  analisis sekumpulan relasi dalam skema database relasional untuk mengidentifikasi permasalahan yang muncul, dan memperbaikinya. Berbeda dengan alaisis persyaratan dan langkah-langkah desain konseptual, yang secara esensial bersifat subjektif, perbaikan skema dapat dipandu oleh beberapa teori yang kuat dan bagus.  Langkah keempat ini, para akademis IT lebih sering disebut dengan Normalisasi.

       e.      Desain Database Fisik

                Pada langkah ini, kita juga mempertimbagkan beban kerja umum yang diharapkan dapat didukung oleh database kita dan memperbaiki desain database di masa mendatang untuk memastikan terpenuhinya kriteria performa yang diinginkan. Langkah ini hanya mencakup pembuatan indeks pada beberapa tabe dan mengelompokkan beberapa tabel, atau bahkan melibatkan desain ulang yang substansial terhadap beberapa bagian skema database yang didapat dari langkah pertama desain database. 

f.        Desain Aplikasi dan Keamanan

                Semua proyek perangkat lunak yang melibatkan sebuah DBMS harus mempertimbangkan aspek aplikasi yang berada di luar database itu sendiri. Metodologi desain seperti UML mencoba menekankan desain perangkat lunak dan siklus pengembangan yang lengkap. Secara singkat, kita harus bisa mengidentifikasi entitas (contohnya pengguna, grup-grup pengguna, dan bagian-bagian lain) dan proses-proses yang terlibat dalam aplikasi.              
                Kita harus menggambarkan peran setiap entitas dalam setiap proses yang akan direfleksikan pada beberapa tugas aplikasi, sebagai bagian dari aliran kerja lengkap untuk tugas tersebut. Untuk tiap peran, kita harus bisa mengidentifikasi bagian database yang harus bisa diakses dan yang tidak bisa diakses, dan kitah harus bisa menganmbil langkah untuk memastikan bahwa aturan akses terseut dilakukan. DBMS memberikan beberapa mekanisme untuk membantu langkah tersebut.
               
               Demikianlah langkah-langkah desain database yang harus kita lakukan jika kita ingin membangun atau membuat sebuah database yang baik dan benar. Secara realistis, meskipun kita mulai dari proses 6 langkah diatas, sebuah desain database yang lengkap mungkin akan memerlukan sebuah fase tuning (penyesuaian) sesudah itu sampai desain tersebut memuaskan.

Implementasi data tunning sistem basis data

                  Setelah rancangan logika dan fisik selesai, kita dapat mengimplementasikan sistem basis data. Hal ini merupakan tanggung jawab DBA bersama desainer basis data. Pernyataan dalam DDL (data definition language) termasuk SDL (storage definition language) dari DBMS terpilih dikompilasi dan digunakan untuk membuat skema basis data dan file basis data (kosong). Basis data dapat  kemudian dipopulasikan dengan data.Transaksi basis data harus diimplementasikan dengan aplikasi yang dibuat programming berdasarkan spesifikasi konseptual. Jika transaksi siap dan data disimpan ke basis data, kemudian siap dioperasikan.

Proses Perancangan Database

6 (enam) Fase proses perancangan database :
                1. Pengumpulan data dan analisis
                2. Perancangan database secara konseptual
                3. Pemilihan DBMS
                4. Perancangan database secara logika (data model mapping)
                5. Perancangan database secara fisik
                6. Implementasi Sistem database.