NIM : 1705551080
Kelompok : 16
MODUL I
“Dasar-Dasar MYSQL dan Normalisasi”
Tujuan
1. Mengetahui dan memahami proses pembuatan program basis data serta
tahapan-tahapan normalisasi.
2. Memahami pemilihan tipe data yang tepat dan efisien dalam pembuatan
basis data di MySQL.
3. Memahami komponen-komponen yang ada di dalam konsep basis data
seperti key dan relationship.
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 basis data.
Jawaban
1. Tahapan dalam Pembuatan Basis Data
Tahapan-tahapan yang semestinya dilakukan dalam pembuatan suatu
program basis data adalah sebagai berikut:
1.1 Mengumpulkan data dan menganalisis
Proses identifikasi dan analisis kebutuhan-kebutuhan data disebut
mengumpulkan data dan analisis. Untuk mentukan kebutuhan-kebutuhan suatu
sistem basis data, pertama harus mengenal bagian-bagian lain dan sistem
informasi yang akan berinteraksi dengan sistem basis data, termasuk para pemakai
yang ada dan para pemakai yang baru serta aplikasi-aplikasinya. Kebutuhan-
kebutuhan dan para pemakai dan aplikasi-aplikasi inilah yang kemudian
dikumpulkan dan dianalisis.
Aktifitas-aktifitas mengumpulkan data dan analisis diantaranya adalah
menentukan kelompok pemakai dan bidang-bidang aplikasinya, meninjau
dokumentasi yang ada, analisis lingkungan operasi dan pemprosesan data, dan
daftar pertanyaan dan wawancara.
2. Tahapan Normalisasi
Tahapan Normalisasi dimulai dari tahap ringan (1NF) hingga paling ketat
(5NF). Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup
memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Urutannya : 1NF,
2NF, 3NF, BCNF, 4NF, 5NF. Tahapannya dapat diurutkan yaitu ; Bentuk tidak
Normal, Bentuk Normal Pertama (1NF): menghilangkan perulangan grup, Bentuk
Normal Kedua (2NF): menghilangkan ketergantungan parsial, Bentuk Normal
Ketiga (3NF): menghilangkan ketergantungan transitif, Bentuk Normal Boyce-
Code Form (BCNF): menghilangkan anomali-anomali hasil dari ketergantungan
fungsional, Bentuk Normal Keempat (4NF): menghilangkan ketergantungan
multivalue, Bentuk Normal Kelima (5NF): menghilangkan anomali-anomali yang
tersisa
2.1 Bentuk Tidak Normal (Unnormalized Form)
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada
keharusan mengikuti suatu format tertentu. Dapat saja data tidak lengkap atau
terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat mengimput.
Tabel 2.1 Bentuk Tidak Normal
No_siswa nama Pa Kelas 1 Kelas 2 Kelas 3
Instruktur Seminar
Si doel 2281
Pak tile 2281
Mandra 2291
Basuki 2291
No_siswa Instruktur
22890100 Si doel
22890101 Pak tile
22890102 Mandra
22890101 Basuki
22890109 Basuki
Tabel 2.6 adalah tabel Boyce-codd normal form relasi pelajar yang
merupakan uraian dari tabel 2.5 Boyce-codd normal form relasi seminar.
2.6 Bentuk Normal Keempat
Relasi R adalah bentuk 4 NF jika dan hanya jika relasi tersebut juga
termasuk BCNF dan semua ketergantungan multivalue adalah juga
ketergantungan fungsional.
3.1.2 TINYINT
Digunakan untuk menyimpan data berupa bilangan bulat positif dan
negatif dengan jangkauan -128 s/d 127. Tipe data ini mempunyai ukuran 1 byte (8
bit).
3.1.3 SMALLINT
Digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan untuk bilangan bertanda -32768 sampai dengan 32767 dan untuk yang
tidak bertanda (jangkauan unsigned) 0 sampai dengan 65535. Tipe data ini
mempunyai ukuran 2 byte.
3.1.4 MEDIUMINT
Digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan untuk bilangan bertanda -8388608 sampai dengan 8388607 dan untuk
yang tidak bertanda (jangkauan unsigned) 0 sampai dengan 16777215. Tipe data
ini mempunyai ukuran 3 byte.
3.1.5 BIGINT
Digunakan untuk menyimpan data bilangan bulat positif dan negatif. Tipe
data ini mempunyai ukuran 8 byte.
3.1.6 FLOAT
Berfungsi menyimpan data bilangan pecahan positif dan negatif presisi
tunggal. Tipe data ini mempunyai ukuran 4 byte.
3.1.7 DOUBLE
Berfungsi untuk menyimpan data bilangan pecahan positif dan negatif
presisi ganda. Tipe data ini mempunyai ukuran 8 byte.
3.1.8 REAL
Berfungsi untuk menyimpan data bilangan pecahan positif dan negatif
presisi ganda. Tipe data ini mempunyai ukuran 8 byte.
3.1.9 DECIMAL
Berfungsi untuk menyimpan data bilangan positif dan negatif. Tipe data
ini mempunyai ukuran 8 byte.
3.1.10 NUMERIC
Berfungsi untuk menyimpan data bilangan positif dan negatif. Tipe data
ini mempunyai ukuran 8 byte.
3.2 Tipe Data Date dan Time
Tipe Data Date dan Time pada database MySQL terbagi atas beberapa
macam tipe data, yaitu:
3.2.1 DATE
Berfungsi menyimpan data tanggal. Tipe data ini mempunyai ukuran 3
byte.
3.2.2 TIME
Berfungsi untuk menyimpan data waktu. Tipe data ini mempunyai ukuran
3 byte.
3.2.3 DATETIME
Berfungsi untuk menyimpan data tanggal dan waktu. Tipe data ini
mempunyai ukuran 8 byte. Dengan jangkauan ‘1000-01-01 00:00:00’ s/d ‘9999-
12-31 23:59:59’
3.2.4 YEAR
Berfungsi untuk menyimpan data tahun dari tanggal. Tipe data ini
mempunyai ukuran 1 byte.
3.3.2 VARCHAR
Ukuran L+1 byte dengan L kurang dari sama dengan M dan
1<=M<=255. Data string dengan panjang bervariasi tergantung datanya. Jika nilai
M adalah 10 sedangkan data yang disimpan hanya terdiri dari 5 karakter, maka
lebar data tersebut hanya 5 karakter saja, tidak ada tambahan spasi.
3.3.3 ENUM
Ukuran satu atau dua byte tergantung nilai enumerasinya maks 65535
nilai. Bentuk penulisannya yaitu : ENUM (“nilai1”,”nilai2”,...).
3.3.4 SET
Ukuran 1,2,3,4 atau 8 byte tergantung jumlah anggota himpunan maks 64
anggota. Dengan bentuk penulisannya yaitu : SET (“nilai1”,”nilai2”,...).
4. Macam-Macam Key
Key adalah satu gabungan dari beberapa atribut yang dapat membedakan
semua basis data (row) dalam tabel secara unik. Key di dalam database berfungsi
sebagai suatu cara untuk mengidentifikasi dan menghubungkan satu tabel data
dengan tabel yang lain.
4.1 Kunci Calon (Kandidat key)
Kunci calon adalah salah satu rangkaian yang mempunyai nilai unik untuk
membedakan atau mengidentifikasi nilai-nilai kombinasi yang unik diantara
semua kejadian yang spesifik dari entetitas. Kunci calon ini tidak boleh berisi
atribut dari tabel yang lain. Kombinasi dari atribut yang dapat digunakan untuk
mengidentifikasi secara unik rekor database tanpa data apapun yang asing. Setiap
tabel dapat memiliki satu atau lebih kunci calon.
5. Macam-Macam Relationship
Relationship adalah hubungan antara tabel yang mempresentasikan
hubungan antar objek di dunia nyata. Relasi merupakan hubungan yang terjadi
pada suatu tabel dengan lainnya yang mempresentasikan hubungan antar objek di
dunia nyata dan berfungsi untuk mengatur mengatur operasi suatu database.
Hubungan yang dapat dibentuk dapat mencakup tiga macam hubungan, yaitu
sebagai berikut:
5.1 One-To-One (1-1)
Mempunyai pengertian "Setiap baris data pada tabel pertama dihubungkan
hanya ke satu baris data pada tabel ke dua". Contohnya : relasi antara tabel
mahasiswa dan tabel orang tua. Satu baris mahasiswa hanya berhubungan dengan
satu baris orang tua begitu juga sebaliknya.