Anda di halaman 1dari 22

BASIS DATA LANJUT

Relational Database Model

● Relational database model, menyimpan data dalam


‘relasi’, atau lebih kita kenal sebagai tabel. Setiap tabel
terdiri dari baris dan kolom.
● Relational database model inilah yang paling populer
dan banyak diimplementasi dalam berbagai aplikasi
database saat ini, termasuk MySQL. Aplikasi database
yang menggunakan konsep relational model inilah
yang disebut sebagai Relational Database Management
Systems (RDBMS).

2
Relational Database Management
System (RDBMS)

3
MySQL

4
MySQL

Open Source User Friendly

Speed Reliability

Portability

5
MySQL atau MariaDB
MySQL atau MariaDB

▸ Pada tahun 2010, MySQL dibeli oleh ▸ MariaDB pada dasarnya merupakan aplikasi
perusahaan Oracle. Banyak yang khawatir MySQL dengan sedikit modifikasi, dan
bahwa suatu saat pengembangan MySQL tetap berfungsi sebagaimana layaknya
akan dihentikan oleh Oracle. MySQL
▸ Mengembangkan MariaDB sebagai ▸ Beberapa aplikasi (terutama yang berbasis
pengganti MySQL. open source) juga mulai beralih ke
▸ MariaDB berisi MySQL yang diberi “merk” MariaDB.
MariaDB serta penambahan fitur dan
perbaikan performa

7
Database
▸ Dalam relational database model, sebuah
database adalah kumpulan relasi yang
saling terhubung satu sama lain. Relasi
disebut juga sebagai tabel.
▸ Dalam relational database, kolom atau
column disebut juga sebagai attribute,
sedangkan baris atau row disebut sebagai
tuple.
▸ Selain itu terdapat juga record dan field.
Record adalah satu baris tabel (sama
artinya dengan row atau tuple), sedangkan
field merujuk kepada satu data di dalam sel
table.

8
Primary Key dan Foreign Key

 Primary key adalah kolom yang akan


menjadi identitas dari setiap baris tabel.
Pemilihan kolom mana yang akan menjadi
primary key bisa mempertimbangkan
beberapa aspek, karena inilah kolom yang
akan berfungi sebagai penghubung satu
tabel dengan tabel lain.
 Foreign key (kunci tamu) adalah
primary key dari tabel lain yang berada
di tabel saat ini.

9
Normalisasi Database

 Normalisasi database (database normalization) adalah proses penyusunan kolom dan tabel
untuk meminimalkan redundansi data (data yang berulang).
 Normalisasi akan membagi tabel besar menjadi beberapa tabel kecil yang saling terhubung.
Hal ini dilakukan agar mudah dalam mengatur, serta mengorganisasi data.
 Beberapa bentuk normal (normal forms, NF) yaitu 1NF, 2NF, 3NF, BCNF, 4NF, 5NF.
Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk
menghasilkan tabel-tabel yang berkualitas baik

10
Normalisasi Database (Bentuk Normal
Tahap Pertama / 1NF)
Contoh 1 (MultiValue)
 Bentuk normal 1NF terpenuhi jika
Data Mahasiswa
sebuah tabel tidak memiliki atribut
bernilai banyak (multivalued
attribute), atribut composite atau
kombinasi antara keduanya.
 Setiap atribut dalam tabel tersebut
harus bernilai atomic (satu cell hanya
menampung satu nilai)

Tabel di atas tidak memenuhi syarat 1NF


11
Normalisasi Database (Bentuk Normal
Tahap Pertama / 1NF)
Didekomposisi menjadi : Contoh 2 (Composite)

Tabel Mahasiswa
Kodekul NamaKul Dosen Kelas Jadwal

 Dimana nilai pada atribut jadwal berisi gabungan antara Hari dan
Jam.
Tabel Hobi  Jika asumsi hari dan jam memegang peranan penting dalam
sistem basis data, maka atribut Jadwal perlu dipisah sehingga
menjadi JadwalHari dan JadwalJam

Kodekul NamaKul Dosen Kelas JadwalHari JadwalJam

12
Normalisasi Database (Bentuk Normal
Tahap Kedua / 2NF)
 Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF,
dan semua atribut selain primary key, secara utuh memiliki Functional Dependency
pada primary key
 Sebuah tabel tidak memenuhi 2NF jika ada atribut yang ketergantungannya
(Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian
dari primary key)
 Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka
atribut tersebut harus dipindah atau dihilangkan

13
Normalisasi Database (Bentuk Normal
Tahap Kedua / 2NF)
Contoh

Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF :

Mhs_nrp mhs_nama mhs_alamat mk_kode mk_nama mk_sks nihuruf

Tidak memenuhi 2NF, karena {Mhs _ nrp, mk _ kode} yang dianggap sebagai primary key

14
Normalisasi Database (Bentuk Normal
Tahap Kedua / 2NF)
Didekomposisi menjadi:
Tabel Nilai:

Mhs_nrp mk_kode nihuruf

Tabel Mahasiswa:

Mhs_nrp mhs_nama mhs_alamat

Tabel Mata Kuliah

mk_kode mk_nama mk_sks nihuruf

15
Normalisasi Database (Bentuk Normal
Tahap Ketiga / 3NF)
Contoh
 Bentuk normal 3NF terpenuhi jika
Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:
telah memenuhi bentuk 2NF, dan jika
tidak ada atribut non primary key Nrp Nama Alm_Jalan Alm_Kota Alm_Provinsi Alm_Kodepos
yang memiliki ketergantungan
 Karena masih terdapat atribut non primary key (yakni alm_kota
terhadap atribut non primary key
dan alm_Provinsi) yang memiliki ketergantungan terhadap
yang lainnya (tidak terdapat atribut non primary key yang lain (yakni alm_kodepos):
ketergantungan transitif).
Nrp Nama Alm_Jalan Alm_Kodepos Mahasiswa

Alm_Kodepos Alm_Kota Alm_Provinsi Kodepos


16
Entity Relationship Diagram (ERD)

 ERD (Entity Relationship Diagram) adalah


sebuah diagram yang menggambarkan
bagaimana struktur design database yang akan
dibuat. Dengan kata lain, ERD adalah
blueprint dari database. Ibarat arsitek, ERD
merupakan gambar rumah yang akan
dibangun. Di dalam ERD bisa terlihat semua
tabel yang menyusun suatu database, termasuk
primary key masing-masing tabel, foreign key,
serta kolom apa saja yang tersedia di setiap
tabel. Sumber Gambar: Dicoding
17
Arsitektur Client-Server MySQL

 Dalam operasionalnya, MySQL menggunakan konsep


arsitektur client-server.
 Salah satu komputer bertindak sebagai server. Di dalam server
inilah seluruh database MySQL disimpan. Kemudian
komputer lain berperan sebagai client.
 Client berinteraksi dengan server agar bisa mengakses
database. Jumlah client yang mengakses server bisa 1
komputer, 100, atau bahkan 1000 komputer pada saat yang
bersamaan.

18
Menjalankan MySQL Server
 Untuk menjalankan MySQL server, kita harus mengakses file
mysqld.exe yang berada di folder bin. Akhiran “d” dari
mysqld.exe berarti “daemon”, suatu istilah dalam sistem
UNIX untuk aplikasi yang terus berjalan di background.
 Cara pertama adalah menjalankan MySQL Server dari
XAMPP
 Cara kedua adalah dengan mengakses file mysqld.exe
langsung dari aplikasi command prompt (cmd) Windows. Di
aplikasi cmd, ketik alamat file mysqld.exe, yakni di C:\
xampp\mysql\bin\mysqld.exe

19
Menjalankan MySQL Client

 MySQL client digunakan untuk berkomunikasi dengan MySQL server.


MySQL client hadir dengan berbagai bentuk. Ada yang diakses dari cmd,
berbasis web (halaman phpMyAdmin di XAMPP), maupun yang berbasis
aplikasi desktop (MySQLWorkbench).
 MySQL client yang paling sederhana adalah berbasis cmd (command
prompt). Dimana kita mengetik perintah-perintah SQL secara manual untuk
berkomunikasi dengan MySQL server.

20
Menjalankan MySQL Client

 Menjalankan MySQL client dari cmd dengan


menuliskan perintah berikut: c:\xampp\mysql\bin\
mysql -uroot
 Perintah c:\xampp\mysql\bin\mysql -uroot artinya,
saya mencari file mysql.exe yang berada di folder c:\
xampp\mysql\bin\, kemudian masuk sebagai user
root. Untuk keluar dari MySQL client, ketik perintah:
exit.

21
Praktik
Lakukan normalisasi (1 NF, 2NF,3NF) pada table universal berikut.
Id_Anggota Nama_Anggota Jenis _Anggota Maks_Jml_Buku Tgl_Peminjaman Id_Buku Judul_Buku Tgl_Pengembalian

11061234 Ayu Premium 4 Buku 29-08-2023 A891 Kecerdasan Buatan 04-09-2023

B976 Data Warehouse

A856 Java

11061256 Ghani Standard 2 Buku 01-09-2023 A745 HTML 04-09-2023

11061267 Bayu Premium 4 Buku 05-09-2023 C264 Keamanan Jaringan 11-09-2023

B396 Basis Data

A398 Python

C530 Sistem Operasi

22

Anda mungkin juga menyukai