Tujuan
1. Mengurangi redudansi data pada basis data yang dibuat.
2. Perubahan data (penyisipan, pengubahan dan penghapusan) terjadi hanya
pada kelompok data tersebut.
3. Mencegah anomali pada data (keanehan pada proses penyisipan,
pengubahan dan penghapusan).
4. Agar Struktur data lebih mudah dipahami dan dikembangkan.
Tugas Pendahuluan
1. Sebutkan dan jelaskan dengan rinci tahapan-tahapan yang semestinya
dilakukan dalam pembuatan suatu program basis data.
2. Sebutkan dan jelaskan dengan rinci tahapan-tahapan yang semestinya
dilakukan dalam proses normalisasi, berikan contoh untuk menggambarkan
proses yang terjadi di setiap tahapan normalisasi.
3. Sebutkan macam-macam tipe data yang ada dalam MySQL serta kebutuhan
memory dan penggunaannya dengan jelas.
4. Sebutkan kegunaan key dalam suatu tabel. Lalu sebutkan dan jelaskan
macam - macam key yang ada dalam konsep basis data.
5. Sebutkan dan jelaskan macam-macam relationship (keterhubungan) yang
ada dalam konsep basis data.
6. Sebutkan dan jelaskan masing-masing relationship (keterhubungan) yang
terdapat pada rancangan PDM Modul 1.
Jawaban
1. Proses perancangan database terdiri dari 6 tahap:
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. Contoh:
Bentuk normalisasi pertama (1 NF) ini mempunyai ciri yaitu setiap data
dibentuk file datar atau rata (flat file), data dibentuk dalam satu record demi satu
record dan nilai-nilai dari field-field berupa nilai yang tidak dapat dibagi-bagi lagi.
Berikut perubahannya:
Bentuk normal kedua ini mempunyai syarat yaitu bentuk data yang telah
memenuhi kriteria bentuk normal pertama. Atribut bukan kunci haruslah
bergantung secara fungsional pada kunci utama (primary key), sehingga untuk
membentuk normal kedua haruslah sudah ditentukan kunci-kunci field.
Berikut perubahannya:
Bentuk normal ketiga (3NF) ini relasi haruslah dalam bentuk normal kedua
dan semua atribut bukan kunci utama tidak punya hubungan transitif. Artinya setiap
atribut bukan kunci harus bergantung hanya pada primary key secara keseluruhan,
dan bentuk normalisasi ketiga sudah didapat tabel yang optimal.
2.5. BNCF
Sebuah relasi dalam bentuk Boyce-Codd Normal Form (BCNF) jika dan
hanya jika setiap determinan adalah candidate key. Boyce-Codd Normal Form
adalah tipe khusus dari bentuk normal ketiga. Sebuah relasi dalam BCNF adalah
juga bentuk dalam 3NF, tetapi relasi dalam 3NF mungkin tidak dalam BCNF.
3. Secara garis besar, database MySQL mempunyai 3 macam tipe data, yaitu:
3.1.1 INT
Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan
negatif dengan jangkauan antara -2.147.483.648 s/d 2.147.483.647. Tipe data ini
mempunyai ukuruan 4 byte (32 bit).
3.1.2 TINYINT
Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan
negatif dengan jangkauan antara -128 s/d 127. Tipe data ini mempunyai ukuran 1
byte (8 bit).
3.1.3 SMALLINT
Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan
negatif dengan jangkauan antara -32.768 s/d 32.767. Tipe data ini mempunyai
ukuran 2 byte (16 bit).
3.1.4 MEDIUMINT
Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan
negatif dengan jangkauan antara -8.388.608 s/d 8.388.607. Tipe data ini
mempunyai ukuran 3 byte (24 bit).
3.1.5 BIGINT
Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan
negatif dengan jangkauan antara -8.388.608 s/d 8.388.607. Tipe data ini
mempunyai ukuran 8 byte (64 bit).
3.1.6 FLOAT
Digunakan untuk menyimpan data yang berupa bilangan pecahan positif
dan negatif presisi tunggal. Tipe data ini mempunyai ukuran 4 byte (32 bit).
3.1.7 DOUBLE
Digunakan untuk menyimpan data yang berupa bilangan pecahan positif
dan negatif presisi ganda. Tipe data ini mempunyai ukuran 8 byte (64 bit).
3.1.8 DECIMAL
Digunakan untuk menyimpan data yang berupa bilangan pecahan positif
dan negatif presisi ganda. Tipe data ini mempunyai ukuran 8 byte (64 bit).
3.1.9 REAL
3.1.10 NUMERIC
Digunakan untuk menyimpan data yang berupa bilangan pecahan positif
dan negatif. Tipe data ini mempunyai ukuran 8 byte (64 bit).
3.2.1 DATE
Digunakan untuk meyimpan data tanggal dalam format YY:MM:DD,
dengan ukuran memori sebesar 3 byte.
3.2.2 DATETIME
3.2.3 TIME
3.2.4 YEAR
Digunakan untuk menyimpan data karakter/string dengan ukuran tetap. Tipe data
ini mempunyai jangkauan antara 0 sampai dengan 255 karakter.
3.3.2 VARCHAR
3.3.3 TEXT
Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan
antara 0 sampai dengan 65.535 (216-1) karakter.
3.3.4 TINYTEXT
Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan
antara 0 s/d 255 untuk MySQL versi 4.0, dan mempunyai jangkauan antara 0 s/d
65.535 untuk MySQL versi 5.0.3
3.3.5 MEDIUMTEXT
Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara
0 sampai dengan 224-1 karakter
3.3.6 LONGTEXT
Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara
0 sampai dengan 232-1 karakter
3.3.7 ENUM
Digunakan untuk menyimpan data enumerasi (kumpulan data)
3.3.8 SET
Digunakan untuk menyimpan data himpunan data.
4. Key pada Basis Data merupakan gabungan beberapa atribut dimana
fungsinya adalah untuk membedakan semua basis data didalam tabel secara unik
ataupun suatu cara untuk menghubungkan antara tabel satu dengan tabel yang
lainnya. Didalam SQL, key terbagi menjadi beberapa jenis diantaranya adalah
sebagai berikut: