Model Data Relational

Desain database Logis dan model data relational

Desain database adalah tentang pembuatan struktur database yang stabil, dengan mempunyai persyaratan-persyaratan yang tepat. Hal itu sebagai langkah penting yang harus ada untuk pembuatan sebuah database yang tepat. Dan persyaratan-persyaratan itu harus dilakukan dengan hati-hati. Disini kita memiliki dua alasan untuk menekankan model data relasional. Pertama, model data relasional paling banyak digunakan dalam aplikasi database kontemporer. Kedua, beberapa prinsip desain database logis untuk model relasional juga berlaku bagi model logis lainnya.
Model database relational
Pada tahun 1970, E. F. Codd memperkenalkan model data relational, kemudian diikuti oleh IBM (Codd, 1970).  Pada awalnya dilakukan dua proyek penelitian untuk membuktikan kelayakan model relational dan prototype pengembangan sistemnya. Pada akhir 1970, IBM mengembangkan sistem yang dikenal dengan sistem R (prototype untuk relational DBMS-RDBMS). Yang kedua di Universitas alifornia, Berkeley mengembangkan RDBMS yang berorientasi akademis.
Model data relational merepresentasika datadalam bentik tabel. Dalam model data relational terdapat 3 komponen :
  1. Stuktur data, data dikelompokkan dalam bentuk tabel ( baris dan kolom)
  2. Manipulasi data, dengan menggunakan operasi yang kuat (database sql), untuk memanipulasi data yang tersimpan dalam relasi.
  3. Integritas data, menentukan aturan untuk menjaga integritas data pada saat data tersebut dimanipulasi.
Dalam pemodelan database relational mendefinisikan sebuah relasi dari tabel 2 dimensi yang terdiri dari kolom dan baris dengan indeks acak. Baris dalam tabel berisi record (data/atribut) sebagai contoh Karyawan1 : Id_karyawan, Nama, Departemen, Gaji. Dalam penulisannya kita dapat menyingkat nama relasi itu diikuti atributnya.
            Karyawan1(Id_karyawan, Nama, Departemen, Gaji)



Relation Key

Didalam relasi setiap atribut digunakan semacam kunci (key) sebagai kunci primer yang digunakan untuk memanggil atribut dalam tabel relasi. Karena itu setiap nama relasi pasti memiliki satu atribut yang dijadikan seabgai kunci primer. Dan biasanya kunci primer ini ditandai dengan adanya garis bawah pada nama atributnya. Seperti contoh diatas : .
            Karyawan1(Id_karyawan, Nama, Departemen, Gaji)

Dapat dilihat bahwa pada Id_Karyawan terdapat garis bawah, itu menandakan bahwa Id_Karyawan merupakan primary key dari relasi Karyawan1. Dalam relasi selain adanya kunci primer, bisa juga kita dapati entitas asosiatif dimana entitas ini tidak harus memiliki pengenal. Karena entitas ini biasanya merupakan pengenal dari attribute pada relasi yang lainnya. Pengenal (primary key) pada satu entitas dapat menjadi foreign key pada entitas hasil relational many-to-many pada entitas-entitas utama (Normal). Jadi foreign key merupakan attribute database yang melayani primary key dari relasi yang lain dalam database yang sama.
Atau dapat disimpulkan Foreign Key adalah Òeld pengenal yang berisi primary key dari suatu relasi lain. Key ini merepresentasikan hubungan antara record di relasitsb dengan record di relasi pemilik primary key. Key dapat terdiri dari satu Òeld (sederhana) atau lebih dari satu Òeld (komposit).



Conoh Diagram ER



Contoh Skema Logis

Properti (Sifat) Relasi
Relasi dapat di definisikan sebagai hubungan tabel data dua dimensi. Tetapi tidak semua hubungan antar tabel adalah sebuah relasi. Tetapi relasi sendiri memiliki properti yang berbeda dari hubungan tabel no relational. Property (sifat) dari relasi dapat di didefinisikan sebagai berikut :
  1. Setiap relasi (atau tabel) dalam database memiliki nama yang unik.
  2. Sebuah entri di persimpangan setiap baris dan kolom adalah atom (atau bernilai tunggal). Tidak mungkin ada atribut multinilai adalah relasi.
  3. Setiap baris itu unik, tidak ada dua deretan dalam suatu relasi yang identik.
  4. Setiap atribut (atau kolom) dalam tabel memiliki nama yang unik.
  5. Urutan kolom (kiri atau kanan) tidak signifikan. kolom suatu relasi dapat dipertukarkan tanpa mengubah arti atau penggunaan relasinya.
  6. Urutan baris (atas ke bawah) tidak signifikan. seperti kolom, baris relasi dapat dipertukarkan atau disimpan dalam urutan apa pun.

Mengubah Diagram E-R ke Relasi
Relasi Binary
Memetakan hubungan binary Satu-ke-Banyak (one-to-many)
Primary key di pihak satu menjadi foreign key di pihak banyak.
Skema Hubungan Binary 1:N
Skema Hubungan antara KONSUMEN dan PESANAN


Memetakan hubungan binary Banyak-ke-Banyak (many-to-many)
Buat relasi baru dengan primary key komposit yang terdiri dari primary key dari kedua entitas.
Diagram E-R (N:N).


Memetakan hubungan binary Satu-ke-Satu (one-to-one)
Primary key di pihak wajib menjadi foreign key di pihak opsional.
Skema Hubungan Binary 1:1


Relasi Unary
Juga disebut hubungan rekursif. dua kasus yang paling penting dari relasi unary adalah satu-ke-banyak dan banyak-ke-banyak.
Memetakan relasi unary Satu-ke-Banyak (1:N)
foreign key bersifat rekursif (dalam relasi yang sama).
Skema Relasi Unary 1:N
Memetakan relasi unary Banyak-ke-Banyak (N:N)
Menjadi dua relasi:
  • Satu untuk tipe entitas.
  • Satu untuk relasi asosiatif dengan primary key yang terdiri dari dua field, yang keduanya mengacu pada primary key tipe entitas diatas.

Skema relasi unary N:N

Relasi Ternary
Satu relasi untuk merepresentasikan tiap entitas dan satu relasi untuk entitas asosiatif (total empat relasi). Primary key dari setiap entitas yang terlibat dalam hubungan dijadikan foreign key dalam relasi entitas asosiatif.
Skema relasi tenary :

Skema Relasi Tenary N:N


Normalisasi Data
Normalisasi skema logis
Melakukan validasi dan penyempurnaan rancangan logis database sehingga memenuhi format tertentu (form normal) untuk meminimasi duplikasi data. Definisi teknis: proses dekomposisi atau memecah relasi-relasi yang mengandung anomali menjadi relasi-relasi kecil yang terstruktur dengan baik (memenuhi form normal).
Form Normal
Suatu skema relasi-relasi yang mengandung duplikasi data minimal sehingga memungkinkan penambahan, penghapusan, dan pengubahan record secara efisien dengan resiko inkonsistensi data minimal.
Menjadikan Form Normal
Tujuannya adalah untuk menghilangkan anomali-anomali. Anomali Penambahan Data Penambahan record baru mengharuskan duplikasi nilai-nilai atribut tertentu. Anomali Penghapusan Data Penghapusan record dapat mengakibatkan hilangnya nilai atribut yang hanya terdapat pada record tsb. (yang mungkin masih dibutuhkan). Anomali Modifikasi Data Pengubahan nilai atribut suatu record mengharuskan pengubahan atribut yang sama pada banyak record-record lain.
Contoh Anomali Penambahan :
Anomali penambahan : Tidak dapat memasukkan pegawai baru yang tidak mengambil kursus.
Contoh Anomali Penghapusan :
Anomali penghapusan : Jika pegawai dengan NIP 140 dihapus, informasi tentang kursus Tax Acc akan hilang.
Contoh Anomali Perubahan (Modifikasi) :
Anomali modifikasi : menaikan gaji pegawai dengan NIP 100 mengharuskan perubahan pada beberapa record.

Penyebab terjadinya anomaly
Mengapa anomali-anomali ini terjadi?
Karena menggabungkan dua tema (konsep entitas) dalam satu relasi. Ini mengakibatkan duplikasi-duplikasi sebagai akibat dari ketergantungan antar atribut yang tidak pada tempatnya. Untuk mencegah terjadinya anomaly maka perlu dilakukan Normalisasi. Oleh karena itu secara umum prinsip suatu tabel seharusnya tidak merepresentasikan lebih dari satu tipe entitas.
Langkah-langkah melakukan Normalisasi

Form Normal Ke-1 (1NF)
Tidak ada atribut bernilai-banyak Setiap nilai atribut adalah atomik. Merupakan syarat suatu relasi.
Contoh berikut tidak memenuhi syarat sebagai “relasi”:

Contoh suatu relasi, yang memenuhi 1NF

Dependensi Fungsional
Nilai suatu atribut yang disebut atribut determinan dalam suatu relasi menentukan nilai dari atribut yang lain.
Kandidat Key
adalah atribut determinan Atribut pengenal dengan nilai unik. Salah satu dari kandidat-kandidat key dipilih menjadi primary key. Setiap atribut yang bukan primary key (non-key) secara fungsional tergantung (dependen) pada primary key.

Form Normal ke-2 (2NF)
Syarat: memenuhi 1NF dan setiap atribut non-key secara fungsional bergantung penuh kepada SEMUA primary key.
Tidak ada dependensi fungsional parsial : Nilai setiap atribut non-key harus ditentukan oleh nilai atribut-atribut key secara keseluruhan, bukan hanya sebagian dari atribut-atribut key tsb.
Normalisasi : dekomposisi menjadi dua relasi terpisah.

Form Normal ke-3 (3NF)
2NF plus tidak ada dependensi transitif: Satu atribut secara fungsional menentukan nilai atribut kedua yang pada gilirannya menentukan nilai atribut ketiga.
Relasi dengan dependensi transitif :


Normalisasi: dekomposisi relasi SALES menjadi dua relasi.



Sumber :
Ebook Modern Database Management Eighth Edition : Chapter 5 (Jeffrey A. Hoffer, Marry B. Prescott, Fred R. McFadden)



Database Management System (DBMS)

Kelebihan, Kekurangan dan cara Install DBMS (MySQL / AXMPP)

Database saat ini sudah menjadi kebutuhan hampir disemua bidang. Untuk memenuhi kebutuhan akan basis data, maka digunakan DBMS sebagai aplikasi basis data. Saat ini banyak DBMS yang dapat digunakan untuk kebutuhan tersebut. Berbagai DBMS itu ada yang free ada juga yang berbayar. Untuk kebutuhan belajar kita bisa menggunakan DBMS yang free (Open Source), diantara produk-produk yang Opensource, satu diantaranya yaitu MySQL untuk itu pada kesempatan kali ini, saya akan menuliskan cara install (pemasangan) MySQL dalam hal ini saya menggunakan xampp yang didalamnya sudah mencakup MySQL, Apache dll.

Kenapa menggunakan DBMS? Kita menggunakan DBMS selain ada yang free (Opensource), selain itu dengan menggunakan DBMS, kita akan mendapatkan manfaat yang lebih besar disbanding jika menggunakan penyimpanan konvensional. Diantara manfaat dari DBMS, yaitu :
  1.  Lebih cepat dalam hal pencarian dan menampilkan data.
  2.  Praktis, karena penyimpanan data sudah berbasis komputer bukan konvensional seperti kertas dll.
  3. Up to date, dimana data dan informasi yang dibutuhkan dan disampaikan selalu berubah dan lebih akurat.
  4. Menghilangkan kejenuhan karena semua pekerjaan yang berulang-ulang dilakukan oleh komputer (mesin), bandingkan jika pekerjaan itu dilakukan manual oleh manusia.
Disamping manfaat seperti yang disebutkan tadi, ada juga kelebihan dari DBMS tersebut, diantaranya:
  1. Penggunakan basis data lebih terkontrol meski digunakan oleh beberapa user (bersama-sama).
  2. Mudah menambah program baru meski dengan data bebas dan berbeda dari data yang sudah ada pada harddisk (data lama).
  3. Pemusatan DBMS dibawah satu orang/kelompok menjamin terpeliharanya standar kualitas data, keamanan batas penggunaan serta menetralkan konflik dalam persyaratan data dan integritas dapat terjaga.
  4. DBMS dapat mengontrol tingkat kelengkapan data yang masuk, dan mengelola segala hal yang berhubungan dengan pembaruan data.
  5. Menyediakan interface secara langsung, sehingga memudahkan user mengelola data secara langsung.
  6. Mampu mengatur interface yang berbeda-beda sesuai kebutuhan user, meski basis data yang diakses sama.
Jika ada kelebihan pasti juga DBMS memiliki kekurangan, diantarakekurangan dari DBMS yaitu :
  1. Lebih kompleks, sehingga mudah terjadi kesalahan, sulit dalam pemeliharaan data.
  2. Memerlukan pembiayaan yang tinggi, terutama untuk pembelian perangkat lunak dan perangkat komputer yang sesuai dengan kebutuhan. Juga dalam hal pemeliharaan aplikasi basis data, belum lagi tentang sumber daya manusia yang akan mengelola basis data.
  3. Sifatnya yang terpusat, maka resiko kehilangan seluruh data lebih besar disbanding jika data yang terpisah dalam hal penyimpanannya.
Walaupun memiliki kekurangan, tetapi penggunaan DBMS masih merupakan pilihan tepat untuk pengelolaan data yang besar dan kompleks. Dan untuk menggunakan DBMS kita harus memiliki software DBMS tersebut. Salah satu yang bisa digunakan yaitu MySQL, dan MySQL bisa kita peroleh/dapatkan dalam xampp yang free (opensource). Berikut cara instalasi DMBS, disini saya menggunakan xampp-win32-7.2.3-0-VC15-installer.exe.
Baiklah berikut cara instalasi xampp di windows (saya menggunakan Windows 8.1) :
Pertama harus dilakukan yaitu mendapatkan file installer xampp, dapat di download disini
Setelah proses download selesai, cari file hasil download, umumnya berada di folder download.


Jalankan file xampp-win32-7.2.3-0-VC15-installer.exe (atau versi yang lain)

Selanjutnya akan tampil menu konfirmasi UAAC, klik OK

Setelah itu muncul menu tahapan instalasi xampp. Pilih Next

Selanjutnya terdapat menu pilihan komponen yang akan kita install. Disini kita bisa memilih apa saja komponen yang akan kita install, secara default pilihannya semua komponen sudah terchecklist, jika tidak ingin diinstall kita hilangkan checklist pada komponen tersebut. Atau untuk default kita langsung klik Next.

Setelah itu akan tampil menu, dimana pada menu ini kita bisa merubah di direktori mana aplikasi xampp akan kita tempatkan, secara default xampp akan diinstal di drive C:\xampp. Setelah menentukan direktori tempat xampp akan diinstal kita klik Next.


Selanjutnya tampil menu pilihan konfirmasi, dan informasi aplikasi pihak ke tiga yang dapat berjalan pada DBMS MySQL, klik Next.

Tampil menu xampp siap di install, klik Next.

Proses instalasi aplikasi xampp sedang berjalan.

Setelah itu tampil menu pilihan apakah setelah instalasi Control Panel xampp akan langsung dijalankan? Jika tidak, maka hapus tanda checklist pada pilihan. Selanjutnya Finish.

Tampil pilihan bahasa (Inggris atau German) yang akan digunakan, defaultnya English US. Klik Save.




Menjalankan xampp.

Computer atau My Computer dan ke drive c:\ cari xampp dan jalankan file xampp-control.exe.

Maka akan tampil menu xampp control panel.

Selanjutnya klik pada tombol Start pada Apache dan MySQL

Setelah Apache dan MySQL aktf (ditandai warna hijau), maka selanjutnya buka browser yang ada pada komputer kita. Pada address bar ketikkan : localhost/phpmyadmin.

Jika browser menampilkan menu phpMyAdmin seperti gambar dibawah, maka DBMS MySQL siap digunakan.


Demikian sedikit tutorial cara instalasi xampp pada windows 8.1. semoga dapat bermanfaat.

Sumber :

Standard Internasional ISO 27001 dan Manfaat Keamanan Informasi Informasi sebagai Aset Penting Informasi adalah salah satu aset pen...