Pengertian ERD, Normalisasi Dan Cara Menggunakan MS. Access

 

PENGERTIAN ERD

ERD (Entity Relationship Diagram) adalah 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 komponen yang digunakan, yaitu :
a. Entitas
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya digambarkan dengan persegi panjang.

b. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendes-kripsikan karakteristik dari entitas tersebut.

Gambar atribut diwakili oleh simbol elips.
Atribut Key

Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data ( Row/Record ) dalam tabel secara unik. Dikatakan unik jika pada atribut yang dijadikan key tidak boleh ada baris data dengan nilai yang sama

Contoh : Nomor pokok mahasiswa (NPM), NIM dan nomor pokok lainnya

Atribut simple

atribut yang bernilai atomic, tidak dapat dipecah/ dipilah lagi

Contoh : Alamat, penerbit, tahun terbit, judul buku.

Atribut Multivalue

nilai dari suatu attribute yang mempunyai lebih dari satu (multivalue) nilai dari atrribute yang bersangkutan

Contoh : dari sebuah buku, yaitu terdapat beberapa pengarang.

Atribut Composite

Atribut composite adalah suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu yang masih bisah dipecah lagi atau mempunyai sub attribute.

Contoh : dari entitas nama yaitu nama depan, nama tengah, dan nama belakang

Atribut Derivatif

Atribut yang tidak harus disimpan dalam database Ex. Total. atau atribut yang dihasilkan dari atribut lain atau dari suatu relationship. Atribut ini dilambangkan dengan bentuk oval yang bergaris putus-putus

c. Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.

Derajat relasi atau kardinalitas rasio
Menjelaskan jumlah maksimum hubungan antara satu entitas dengan entitas lainnya

One to One (1:1)
Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.
One to many (1:M / Many)
Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
Many to Many (M:M)
Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B dan demikian pula sebaliknya.

Komponen ERD sebagai berikut :





 Contoh Gambar ERD Sistem Perhotelan :



Penjelasan: entitas tamu memiliki atribut nama,alamat,status,total transaksi,id tamu,kode kamar,telepone,kode jasa,pekerjaan mempunyai relasi atau hubungan membayar tagihan dengan entitas kamar yang memiliki atribut tamu,kode kamar,kamar,tanggal check in,tanggal check out dan status kamar. Relasi atau hubungan membayar tagihan memiliki hubungan juga dengan entitas jasa yang memiliki atribut jumlah unit jasa,jasa,kode jasa,harga jasa.

 

PENGERTIAN NORMALISASI

Normalisasi merupakan sebuah teknik logical desain dalam sebuah basis data yang mengelompokkan atribut dari berbagai entitas dalam suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi/pengulangan data) serta sebagian besar ambiguity bisa dihilangkan.

Atau pengertian singkatny, Normalisasi Databse adalah proses pengelompokan atribut data yang membentuk entitas sederhana, nonredundan, fleksibel, dan mudah beradaptasi, Sehingga dapat dipastikan bahwa database yang dibuat berkualitas baik.

Normalisasi database terdiri dari banyak bentuk, dalam ilmu basis data ada setidaknya 9 bentuk normalisasi yang ada yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF.

Database 1NF, 2NF, dan 3NF akan sering ditemui ketika akan membuat sebuah database yang optimal. Jika Anda ingin menjadi seorang Database Administrator (DBA), harus tahu bagaimana cara normalisasi database yang optimal. Misalkan suatu saat ketika website yang Anda buat mengalami penurunan kinerja, mungkin Anda akan ditanya apakah database tersebut sudah dinormalisasi dengan benar.

Tujuan Normalisasi Database


Tujuannya adalah untuk menghilangkan dan mengurangi redudansi data dan tujuan yang kedua adalah memastikan dependensi data (Data berada pada tabel yang tepat). Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3 kemungkinan yang akan merugikan sistem secara keseluruhan.

  1. INSERT Anomali : Situasi dimana tidak memungkinkan memasukkan beberapa jenis data secara langsung di database.
  2. DELETE Anomali: Penghapusan data yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya tidak terhapus mungkin ikut terhapus.
  3. UPDATE Anomali: Situasi dimana nilai yang diubah menyebabkan inkonsistensi database, dalam artian data yang diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.

Database Seperti Apa yang dinormalisasi?


Tidak semua database bisa dinormalisasi, hanya tipe relational database yang bisa dinormalisasi. Banyak vendor DBMS (Database Management System) diantaranya Oracle, MySQL, SQL Server, PostgreSQL, dll.


Tahapan Normalisasi Database


Untuk melakukan normalisasi database kita harus mengidentifikasi data seperti apa yang akan disimpan, dan berikut adalah contohnya:


1. Bentuk Tidak Normal (unnormalize)

Bentuk tidak normal (unnormalized) merupakan kumpulan data yang direkam tidak ada keharusan dengan mengikuti suatu format tertentu.

Pada bentuk tidak normal terdapat repeating group (Pengulangan Group), sehingga pada kondisi ini data menjadi permasalahan dalam melakukan manipulasi data (insert, update, dan delete) atau biasa disebut anomali.




 2. 1NF / First Normal Form

1NF mensyaratkan beberapa kondisi dalam sebuah database, berikut adalah fungsi dari bentuk normal pertama ini.

  1. Menghilangkan duplikasi kolom dari tabel yang sama.
  2. Buat tabel terpisah untuk masing-masing kelompok data terkait dan mengidentifikasi setiap baris dengan kolom yang unik (primary key).


Pada intinya bentuk normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang sejenis agar dapat dipisahkan sehingga anomali data dapat di atasi.

Contoh adalah ketika kita ingin menghapus, mengupdate, atau menambahkan data peminjam, maka kita tidak bersinggungan dengan data buku atau data penerbit. Sehingga inkonsistensi data dapat mulai di jaga.

 

 

3. 2NF

Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF, berikut adalah beberapa fungsi normalisasi 2NF.

  1. Menghapus beberapa subset data yang ada pada tabel dan menempatkan mereka pada tabel terpisah.
  2. Menciptakan hubungan antara tabel baru dan tabel lama dengan menciptakan foreign key.
  3. Tidak ada atribut dalam tabel yang secara fungsional bergantung pada candidate key tabel tersebut.

Bentuk normal kedua dengan melakukan dekomposisi tabel diatas menjadi beberapa tabel dan mencari kunci primer dari tiap-tiap tabel tersebut dan atribut kunci haruslah unik.


4. 3NF

Pada 3NF tidak diperkenankan adanya partial “transitive dependency“ dalam sebuah tabel. Transitive dependency biasanya terjadi pada tabel hasil relasi, atau kondisi dimana terdapat tiga atribut A, B, C. Kondisinya adalah A B dan B C. Maka C dikatakan sebagai transitive dependency terhadap A melalui B.

Intinya pada 3NF ini, jika terdapat suatu atribut yang tidak bergantung pada primary key tapi bergantung pada field yang lain maka atribut-atribut tersebut perlu dipisah ke tabel baru.

Contohnya ada pada atribut qty, kolom tersebut tidak bergantung langsung pada primary key kode_faktur melainkan bergantung pada kolom kode_barang. Jadi setelah dinormalisasi 3NF akan menghasilkan tabel berikut:




Dari gambar tabel di atas dapat dilihat pada tahap normalisasi 3NF menghasilkan 1 tabel baru dari hasil pemecahan tabel transaksi yaitu tabel detail barang yang isinya menampung barang-barang yang dibeli.

Kolom harga pada tabel detail barang digunakan untuk menyimpan harga barang pada saat proses transaksi. Jadi, meskipun kolom harga pada tabel barang berubah (naik/turun), harga barang yang ada pada tabel detail barang tidak ikut berubah (fixed). Bayangkan jika kita tidak menambahkan kolom harga pada pada tabel detail barang, maka yang terjadi total invoice dari transaksi akan berubah seiring berubahnya harga barang.

5. BCNF Boyce–Codd normal form

Merupakan sebuah teknik normalisasi database yang sering disebut 3.5NF, memiliki hubungan yang sangat erat dengan bentuk 3NF. Pada dasarnya adalah untuk menghandle anomali dan overlooping yang tidak dapat di handle dalam bentuk 3NF. Normalisasi database bentuk ini tergantung dari kasus yang disediakan, tidak semua tabel wajib di normalisasi dalam bentuk BCNF.

Untuk tabel untuk memenuhi Bentuk Normal Boyce-Codd, harus memenuhi dua kondisi berikut:

  1. yaitu Table harus dalam Bentuk Normal Ketiga.
  2. Dan, untuk ketergantungan apa pun A → B, A harus menjadi super key.
    Poin kedua terdengar agak rumit, kan? Dengan kata sederhana, itu berarti, bahwa untuk ketergantungan A → B, A tidak dapat menjadi atribut non-prima, jika B adalah atribut utama.

Pentingnya Normalisasi


Suatu rancangan database disebut buruk jika :

  1. Data yang sama tersimpan di beberapa tempat
    (file atau record).
  2. Ketidakmampuan untuk menghasilkan informasi
    tertentu.
  3. Terjadi kehilangan informasi.
  4. Terjadi adanya redudansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses updating data.
  5. Timbul adanya NULL VALUE..
  6. Kehilangan informasi bisa terjadi bila pada waktu merancang database (melakukan proses dekomposisi yang keliru).
  7. Bentuk normalisasi yang sering digunakan adalah 1st NF, 2nd NF, 3rd NF,dan BCNF.

Kesimpulan

Normalisasi dimulai dari tahap tidak normal (unnormalized), bentuk normal pertama (1 NF), bentuk normal kedua (2 NF), dan seterusnya sampai didapatkan struktur tabel yang normal.

Normalisasi data berfungsi untuk meminimalisir redudansi data dan mencegah anomali, hal ini sama pentingnya ketika Anda meminimalisir kesalahan dalam mengelola keuangan perusahaan Anda.


Cara Menggunakan MS.Access


Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft WordMicrosoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna.

Pertama-tama buka aplikasi microsoft akses, lalu pilih blank document.


Tampilan awal saat membuka ms access

Kedua klik viev lalu pilih design view

Beri nama Table

Pilih data type sesuai kebutuhan. Di gambar ini saya menggunakan data type yes/no untuk menentukan iya atau tidak bahwa si pembeli berhutang.


 Data type ini menentukan input jenis apa yang akan di inputkan misal berupa text atau nomor



contoh disini input yes or no dalam bentuk centang nantinya

Tabel berikutnya tabel hutang, dimana guna tabel hutang ini hanya bisa melihat orang yang berhutang saja.

Setelah membuat beberapa tabel, selanjutnya membuat form. Form berguna untuk mengatur tampilan inpput data agar lebih menarik. Form bisa dibentuk sedemikian rupa, lebih mudah digunakan.

klik tabel yang akan dibuat menjadi form. lalu klik create pilih form

Saya akan membuat tombol/button untuk menyimpan data dan tombol untuk melanjutkan ke data isian form berikutnya. Pilih tanda bentuk persegi yang bernama “xxx”. Disini kita akan menentukan fungsi dari tombol tersebut, karena saya akan membuat tombol simpan guna menyumpan data si pembeli maka saya akan memilih “record operation” dengan action “save record”




Lalu beri nama tombol tersebut sesuai fungsinya

Tombol yang kedua, saya ingin tombol ini membuka form selanjutnya. Maka saya memilih “Form Operation” dengan action “Open Form”

Sebelumnya kita harus membuat Form dari tabel yang sudah dibuat. Tidak harus membuat semuanya, tetapi disini saya membuat Form dari tabel yang sudah dibuat. Digambar ini ada tabel “Pembeli”, “Membeli”, dan “Hutang”. Karena form yang akan diisi selanjutnya adalah data barang/barang yang akan dibeli maka saya memilih form “Membeli”.

pilih form yang akan ditampilkan selanjutnya

Inilah beberapa gambar inputannya

input dari form pembeli

pembeli

ini data yang telah dimasukkan di form tadi

ini data yang telah disaring mealui isian form menghutang

Dan ini gambaran relationshipnya

Untuk lebih mudah memahami, di video ini akan menjelaskan lebih detail bagaimana membuat database seperti yang diatas.



 

Komentar