BASIS DATA (Database) dan ERD (Entity Relationship Diagram)


Haloo... Lama ni gag Corat coret biasa aku lagi sibuknya corat coret di blog sebelah ahahahha. oke Stop becandanya. Kali ini ku akan jelaskan tentang Kuliah yang aku dapat, Kuliah yang aku dapat ini adalah Pengantar Teknologi Informasi (PTI) dan Bab yang mau akau bagi adalah mengenai BASIS DATA khususnya yang menjelakan APA SIH BASIS DATA itu?? penasarankan kan?? eeetttss jgn terburu buru sebelum kita melangkah lebih maju yang perlu dilakukan sebelumnya adalah 
BERDOA MENURUT KEYAKINAN MASING-MASING MULAI..............................................
Amin....
BASIS DATA
Pengertian Basis Data
Pangkalan data atau 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. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika

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

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.

Sejarah Kemunculan Basisdata:
Menurut sejarah, sistem pemrosesan basisdata terbentuk setelah masa sistem pemrosesan manual dan sistem pemrosesan berkas. Sistem pemrosesan manual (berbasis kertas) merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan pada rak-rak berkas. Jika suatu berkas diperlukan, berkas tersebut harus dicari pada rak-rak tersebut. Bentuk seperti ini masih banyak dijumpai dalam kehidupan sehari-hari. Contoh yang lain adalah buku telepon saku dimana seseorang relative mudah mencari nama-nama rekannya karena datanya telah disusun secara alfabetis. Namun demikian kemudahan seperti ini tetap saja kurang efektif. Data tidak bisa diurutkan menurut kata atau nomor telepon. Jika hal seperti itu dikehendaki, tidak ada cara lain selain dengan menuliskannya kembali. Tentu saja hal itu tidak praktis.

ERD (Entity Relationship Diagram)
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada tiga simbol yang digunakan, yaitu :
  1. Entiti
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999: 30). Simbol dari entiti ini biasanya digambarkan dengan persegi panjang.
  1. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
Ada dua jenis Atribut :
    1) Identifier (key) digunakan untuk menentukan suatu entity  secara unik (primary key).
2) Descriptor (nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari suatu entity yang tidak unik.
  1. Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut :
Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu (Abdul Kadir, 2002: 48) : 
  • Relationship Degree (Derajat relasi)

Relationship Degree atau Derajat Relasi adalah jumlah entitas yang berpartisipasi dalam satu relationship.

 
  
Cardinality (Kardinalitas)

    Kardinalitas relasi menunjukan jumlah maksimum tupel yang dapat berelasi dengan entitas pada entitas yang lain.
Terdapat 3 macam kardinalitas relasi yaitu :
1). Satu ke satu (One to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.

2). Satu ke banyak (One to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.
3). Banyak ke banyak (Many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.


Contoh Kasus:
Perancangan Database

Sistem Informasi Inventaris


A.  Permasalahan:
Suatu perusahaan software diminta membuatkan basis data yang akan menangani data-data inventaris sebuah toko kecil. Karena tokonya kecil, maka ada beberapa gudang yang khusus untuk menyimpan stock produk. Data-data yang akan ditanganinya adalah: data produk yang ditawarkan toko, data pemasok produk, data transaksi pembelian produk dari pemasok (nota pembelian), dan data gudang tempat penyimpanan produk. Satu produk yang sama bisa disimpan di beberapa gudang yang berbeda, dan tentu saja tiap gudang menyimpan berbagai macam produk. Di database harus ada data mengenai sisa stock yang ada di masing-masing gudang untuk semua produk.


B.  Tahap 1: Penentuan Entities
·         produk: menyimpan semua informasi mengenai semua produk yang ditawarkan
·         pemasok: menyimpan semua informasi mengenai semua pemasok
·         nota_pembelian: menyimpan semua informasi mengenai semua transaksi pembelian produk dari pemasok
·         gudang: menyimpan semua informasi mengenai gudang untuk penyimpanan produk


C.  Tahap 2: Penentuan Attributes
·         produk:
·         kode_produk: kode unik untuk tiap macam produk (string) PK
·         nama_produk: nama lengkap untuk produk (string)
·         harga_jual: harga jual produk di toko (integer)
·         pemasok:
·         kode_pemasok: kode unik untuk tiap pemasok (string) PK
·         nama_pemasok: nama lengkap untuk pemasok (string)
·         alamat_pemasok: alamat lengkap untuk pemasok (string)
·         nota_pembelian:
·         no_nota: kode untuk mata kuliah (integer) PK
·         tanggal: tanggal transaksi dilakukan (date)
·         gudang:
·         kode_gudang: kode untuk ruang kelas (string) PK
·         alamat_gudang: alamat lengkap untuk gudang (string)




D.  Tahap 3: Penentuan Relationships

produk
pemasok
nota_pembelian
gudang
produk
-
-
m:n
m:n
pemasok

-
1:n
-
nota_pembelian


-
-
gudang



-


Hubungan:
·         produk disimpan di gudang:
·         Tabel utama: produk, gudang
·         Tabel kedua: stok_produk
·         Relationship: Many-to-many (m:n)
·         Attribute penghubung: kode_produk, kode_gudang (FK kode_produk, kode_gudang di stok_produk)
·         produk tercatat di nota_pembelian:
·         Tabel utama: produk, nota_pembelian
·         Tabel kedua: rincian_nota_pembelian
·         Relationship: Many-to-many (m:n)
·         Attribute penghubung:  kode_produk, no_nota (FK kode_produk, no_nota di rincian_nota_pembelian)
·         pemasok tercatat di nota_pembelian:
·         Tabel utama: pemasok
·         Tabel kedua: nota_pembelian
·         Relationship: One-to-many (1:n)
·         Attribute penghubung:  kode_pemasok (FK kode_pemasok di nota_pembelian)




E.  Tahap 4: Pembuatan ERD
EER (Enhanced Entity Relationship) Diagram:






F.  Tahap Implementasi

CREATE TABLE produk (
            kode_produk varchar(20) PRIMARY KEY,
            nama_produk varchar(45) UNIQUE,
            harga_jual integer
            );

CREATE TABLE pemasok (
            kode_pemasok varchar(20) PRIMARY KEY,
            nama_pemasok varchar(20) NOT NULL,
            alamat_pemasok varchar(45) NOT NULL,
            CHECK(nama_pemasok!='' AND alamat_pemasok!='')
            );

CREATE TABLE gudang (
            kode_gudang varchar(20) PRIMARY KEY,
            alamat_gudang varchar(45)
            );

CREATE TABLE nota_pembelian (
            no_nota serial PRIMARY KEY,
            kode_pemasok varchar(20) REFERENCES pemasok(kode_pemasok),
            tanggal date DEFAULT current_date
            );

CREATE TABLE rincian_nota_pembelian (
            kode_produk varchar(20) REFERENCES produk(kode_produk),
            no_nota integer REFERENCES nota_pembelian(no_nota),
            harga_satuan integer,
            jumlah integer NOT NULL,
            CHECK(jumlah>=20),
            PRIMARY KEY(kode_produk, no_nota)
            );

CREATE TABLE stok_produk (
            kode_produk varchar(20) REFERENCES produk(kode_produk),
            kode_gudang varchar(20) REFERENCES gudang(kode_gudang),
            jumlah_stok integer NOT NULL,
            CHECK(jumlah_stok<=200),
            PRIMARY KEY(kode_produk, kode_gudang)
            );

Nah gimana uda pada ngerti kan gambara dari basis data atau biasa yang disebut database itu? kalo kurang jelas silakan hubungi aja ke akun google+ aku... :) Senang berbagi..

Read more