Selasa, 29 Maret 2016

SIstem Basis Data Lanjut - Sebelum saya mengenal software satu ini, setiap saya ingin merancang dan memanage database, saya biasa melakukannya dengan melakukan query manual atau menggunakan tool pembantu dari vendor (seperti MySQL Administrator pada MySQL). Untuk database yang tidak berukuran besar dan memiliki nilai kompleksitas yang rendah, saya masih nyaman dengan menggunakan metode tersebut. Namun sejalan dengan meningkatnya kebutuhan untuk database yang lebih besar dan memiliki kompleksitas yang cukup rumit, metode tersebut sangat sulit untuk dijalankan dalam merancang dan mengatur database.
Setelah sekian lama saya berkutat dalam manajemen database secara manual, akhirnya saya ketemu juga dengan mainan baru ketika awal praktek kerja lapangan, Sybase Power Designer, sebuah software pemodelan data. Software ini sebetulnya mempunyai banyak fungsi, namun yang akan saya tekankan disini hanya fungsi manajemen databasenya. 
Nah, berikut adalah perkenalan dengan aplikasi powered designer virtual 12.0 yang aplikasi tersebut akan digunakan untuk mendesaign atau menyusun suatu data yang nantinya akan diprogram ke dalam bentuk query database. Dan ada beberapa tool yang terdapat dalam aplikasi powered desaign virtual 12.0 yaitu :
Gambar 1.1
Pada Gambar 1.1 terdapat lingkaran merah yang melingkari tool yang digunakan yaitu :
  1. NEW, digunakan untuk membuat lembaran baru pada pembuatan desaign database yang akan kita rancang.
  2. Save All, digunakan untuk menyimpan semua data dan hasil dari penyelesaian pembuatan suatu rancangan database.
  3. IMPORT, digunakan untuk memasukkan suatu file entah itu gambar atau yang lainnya untuk dimasukkan kedalam model rancangan database.

Gambar 1.2

Pada Gambar 1.2 terdapat lingkaran yang melingkari tool, berikut penjelasan tentang tool :

  1. NEW MODEL, dengan mengeklik tool NEW yang pertama maka akan keluar tabel seperti di gambar 1.2, dan digambar tersebut digunakan untuk membuat model baru dengan murni rancangan kita sendiri tanpa menggunakan bantuan apapun.
  2. NEW MODEL FROM TEMPLATE, digunakan untuk membuat model baru tetapi menggunakan template atau suatu ruang yang sudah terisi, dan kita hanya mendesain dan memperbaiki ulang sesuai dengan keinginan kita.
  3.  OK, ketika pemilihan antara kedua button tersebut maka anda harus mengeklik OK untuk melanjutkan suatu proses perancangan suatu database.

Gambar 1.3

Pada Gambar 1.3 terdaoat tool-tool yang digunakan dalam pembuatan rancangan database yaitu:
  1. SELECT, digunakan untuk memilih tabel satu dengan yang lain, dan macam-macam pergerakan pembuatan database.
  2. MOVE, digunakan untuk memindah tata letak suatu tabel agar dapat membentuk susunan tabel yang spesifik.
  3. PERBESAR, digunakan untuk memperbesar layar dalam aplikasi tersebut agar penulisannya dapat dilihat dengan jelas.
  4. PERKECIL, digunakan untuk memperkecil layar dam aplikasi tersebut.
  5. CUT, digunakan untuk memotong atau mengahpus suatu tabel yang tidak perlu dalam pembuatan database.
  6. TEXT, digunakan untuk menuliskan kalimat pada tabel yang telah kita rancang dalam suatu database.

Senin, 28 Maret 2016

Sistem Basis Data Lanjut - Normalisasi database merupakan teknik analisis data untuk mengurangi redudansi data atau pengulangan data pada suatu database agar data tersebut dapat bekerja dengan optimal tanpa terjadi permasalahan dalam pengolahan data. 

Normalisasi dilakukan sebagai suatu relasi untuk menentukan apakah relasi tersebut sudah baik atau belum, jika sudah baik maka dapat dilakukan proses insert, update, delete, dan modifikasi pada beberapa atribut tanpa mempengaruhi integritas pada data relasi. berikut adalah penjelasan tentang proses yang dapat dilakukan yaitu :
  1. INSERT yaitu dimana keadaannya tidak memungkinkan untuk memasukkan beberapa jenis data secara langsung pada database.
  2. DELETE yaitu penghapusan data yang tidak sesuai dengan yang diharapkan oleh pengguna.
  3. UPDATE yaitu dimana data yang sudah diubah tidak sesuai dengan yang diperintahkan atau diinginkan.
Adapun bentuk normalisasi yang sering digunakan praktek dalam dunia industri yaitu 1NF, 2NF, dan 3NF. Berikut adalah penjelasan tentang masing-masing bentuk yang sering digunakan :

1. First Normal Form (1NF)
Dalam setiap mengawali pembentukan data pasti akan ada data atau form yang tidak normal, maka dari itu dengan menormalkan data agar menjadi data yang spesifik akan digunakan normalisasi pertama atau 1NF. Suatu relasi yang disebut memenuhi bentuk normal pertama (1NF) jika setiap atribut dari relasi tersebut hanya memiliki satu nilai dan tidak ada nilai yang berulangan grup atribut dalam baris.

2. Second Normal Form (2NF)
Syarat untuk melakukan normalisasi bentuk kedua yaitu harus menyelesaikan normalisasi bentuk pertama terdahulu. Didalam normalisasi kedua atributte bukan merupakan kunci utama, namun untuk membentuk normal kedua harus ditentukan kunci-kunci dalam setiap field suatu form tersebut, dan kunci field harus unik dan bisa menjadi wakil untuk atributte lain yang menjadi anggota lainnya.

3. Third Normal Form (3NF)
Agar dapat menyelesaikan normalisasi bentuk ketiga maka kita harus menyelesaikan normalisasi pertama dan kedua terlebih dahulu. normalisasi data dalam bentuk ketiga bertujuan untuk menghilangkan seluruh atribut atau field yang sama sekali tidak berhubungan dengan primary key. Dengan itu, maka tidak akan ada ketergantungan transitif pada setiap kandidat key atau ketergantungan yang melibatkan antar 2 atribut yang bukan merupak key atau kunci dari suatu form.


KASUS YANG MENGGUNAKAN BENTUK NORMALISASI
Berikut ini adalah contoh dari normalisasi bentuk 1NF, 2NF, dan 3NF yaitu :
1.  Normalisasi Bentuk Pertama (1NF)


pada tabel diatas sudah termasuk dalam bentuk normalisasi bentuk pertama, tetapi data pada tabel tersebut masih terdapat redudansi atau duplicate data setiap field seperti tabel diatas bahwa didalam setiap atribute memiliki nilai field yang sama di atributte NIM, Nama Mahasiswa maupun atributte lainnya.

2.  Normalisasi Bentuk Kedua (2NF)
  • Tabel 1

Pada tabel 1 merupakan pemecahan tabel dari normalisasi bentuk pertama dengan mengambil atribut NIM, Kode Subjek, Nilai dan Bobot. Dimana atribut tersebut memiliki ketergantungan dan keterkaitan terhadap atribut NIM yang merupakan primary key atau kunci dari tabel tersebut.

  • Tabel 2

Pada tabel 2 juga merupakan pemecahan dari normalisasi bentuk pertama, tetapi diletakkan dalam tabel kedua dengan atribut Kode Subjek, Nama Subjek dan SKS, dimana atribut Kode Subjek menjadi Primary Key atau kunci dalam suatu form.

  • Tabel 3

Pada tabel3 juga merupakan pemecahan dari normalisasi bentuk pertama. Dimana atribut NIM, Nama Mahasiswa, dan Tanggal Lahir terdapat dalam tabel 3 dengan Primary Key atau Kunci Utama yaitu NIM.

Kenapa didalam normalisasi kedua terdapat 2 tabel yang tabel tersebut bermula dari tabel normalisasi pertama ? karena di dalam normalisasi bentuk pertama masih terdapat atribut yang memiliki ketergantungan kepada atribut lain yang bukan merupakan kunci utama, maka dari itu di dalam normalisasi kedua terdapat bebrapa tabel yang dimana setiap tabel masing-masing memiliki primary key atau kunci utama dan masing-masing tabel masih sedikit kemungkinan yang masih ketergantungan pada atribut yang bukan merupakan kunci utama. 

3.  Normalisasi Bentuk Ketiga (3NF)
  • Tabel 1

Pada tabel 1 yang terdapat dalam normalisasi bentuk ketiga merupakan pemecahan dari tabel 1 yang terdapat dalam normalisasi bentuk kedua, yang dimana atribut NIM, Kode Subjek, dan Nilai  memiliki nilai sendiri dalam setiap field. 

  • Tabel 2

Pada tabel 2 yang terdapat dalam normalisasi bentuk ketiga juga merupakan lanjutan pemecahan dari tabel 1 yang terdapat dalam normalisasi bentuk kedua, yang dimana atribut Nilai menjadi Primary Key atau kunci utama dan diikuti oleh atribut lainnya sebagai atribut yang berkegantungan pada kunci utama. Sehingga data tersebut menjadi data yang minimalis karena user tidak kebingungan dalam penyusunan database yang tersedia, dan mudah untuk dimengerti.

Dan begitu juga dengan seterusnya akan menggunakan cara yang sama dimana setiap atribut dalam tabel tidak ada yang bergantung kepada atribut yang bukan kunci utama atau primary key, dan harus tergantung pada kunci utama yang terdapat dalam tersebut. Dan jika normalisasi dilanjutkan sampai ketitik kesempurnaan maka form database tersebut kemungkinan tidak akan terjadi hal redudansi atau pengulangan data yang sama.