Anda di halaman 1dari 37

KONSEP BASIS DATA

DEFINISI DATABASE
2

• Database adalah sekumpulan data yang disusun dalam bentuk (beberapa)


tabel yang saling berkaitan maupun berdiri sendiri
• Basisdata adalah sebuah cara mendokumentasikan berbagai macam data
yang kemudian dimanajemen dengan sebuah sistem untuk kemudian
disimpan dalam sebuah media penyimpanan
• Basisdata sering disebut juga dengan database : sekumpulan informasi
yang sangat komplek yang berguna untuk mengatur semua data yang ada
di dalamnya sehingga dapat diakses oleh pengguna dengan mudah dan
cepat.
ALASAN MENGGUNAKAN DATABASE
3

• Sebagai dasar dalam penyediaan informasi


• Menentukan kualitas informasi : akurat, tepat pada waktunya dan
relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya mendapatkannya.
• Mengurangi duplikasi data (data redudancy)
• Hubungan data dapat ditingkatkan (data relatability)
• Mengurangi pemborosan tempat simpanan luar
JENJANG DATA
4

Character : bagian data terkecil, dapat berupa karakter


numerik, huruf, atau special character yang
membentuk suatu field
Field : merepresentasikan suatu atribut dari record
yang menunjukkan suatu item dari data, seperti
misalnya nama, alamat dan lain sebagainya.
Record : Kumpulan dari field membentuk suatu
record.
File terdiri dari record-record yang menggambarkan
satu kesatuan data yang sejenis
Database : kumpulan dari file/tabel membentuk
database
CONTOH
5
PRIMARY KEY
6

• Primary Key : suatu kolom (field) yang menjadi titik acuan


pada sebuah tabel, bersifat unik, dalam artian tidak ada
satu nilai pun yang sama atau kembar dalam tabel
tersebut.
CONTOH PRIMARY KEY
7

Primary Key :
1. field no_nilai pada
tabel penilaian
2. field no_ajar pada
tabel mengajar
3. field kd_dosen
pada tabel dosen
4. field kd_matakul
pada tabel
matakuliah
5. field mahasiswa
pada tabel
mahasiswa
FOREIGN KEY
8

• Foreign Key adalah suatu kolom dalam tabel yang digunakan


sebagai kaitan bagi tabel lainnya sehingga dapat dibuat
sebuah hubungan antara tabel itu dengan tabel lainnya.
CONTOH FOREIGN KEY
9

• Foreign Key :
1. field no_ajar pada
tabel penilaian
2. field no_mhs pada
tabel penilaian
3. field kd_dosen pada
tabel mengajar
4. field kd_matakul
pada tabel
mengajar
INDEX
10

• Index digunakan untuk mempercepat proses pencarian data.


• Index berbeda dengan key
• Index lebih untuk optimalisasi pemrosesan data sedangkan key
digunakan sebagai pembeda antara record satu dengan record lainnya
CONTOH INDEX
11

• Index :
1. field nama pada
tabel dosen
2. field matakul pada
tabel matakuliah
3. field nm_mhs pada
tabel mahasiswa
KRITERIA PERANCANGAN TABEL
12

• Mudah dalam proses pengolahan datanya seperti input, update, dan


delete
• Tidak ada record yang kembar
• Record dapat diurutkan
• Memiliki nama yang bisa mewakili seluruh field dalam tabel. Nama itu
bersifat unik
NORMALISASI DATABASE
13

• Normalisasi adalah suatu proses mengubah sebuah tabel yang besar


dan kompleks menjadi beberapa buah tabel-tabel yang lebih kecil dan
sederhana.
• Normalisasi adalah sebuah cara memecah atau memisahkan sebuah
tabel yang mengalami redudansi data ke dalam dua/lebih entitas/tabel
• Tujuan normalisasi :
1. Mengurangi pemasukan data yang berulang (redundan data)
2. Menghindari masalah saat pemasukan, merubah dan menghapus
data
TAHAPAN NORMALISASI
14

1. Normal ke 1
- setiap record berisi data lengkap / tidak ada isian yg kosong

2. Normal ke 2
- setiap tabel harus mempunyai primary key
- kunci primer ini akan menjadi foreign key untuk tabel lain
- tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada
sebagian field kunci.

3. Normal ke 3
- semua tabel tergantung penuh pada primary key
- Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field
bukan kunci lainnya).
KRITERIA TABEL IDEAL
15

• Nama tabel harus memberikan gambaran yang tepat dan benar tentang
isi tabel
• Isi tabel hanya memiliki satu subjek / topik
• Hanya memiliki satu primary key
• Hanya memiliki satu jenis nilai saja
• Tidak mengandung kolom yang berisi hasil perhitungan suatu proses
• Tidak ada kolom yang identik di dalam tabel lainnya
• Minimalkan pengulangan data
JENIS TABEL BERDASARKAN FUNGSI
16
1. Tabel Data (Data Table)
- menampung data yg digunakan sebagai informasi

- sifatnya dinamis

2. Tabel Validasi (Validation Table)

- menampung data dengan kriteria tertentu


- biasanya digunakan tabel lain sebagai referensi/validasi
- sifatnya cenderung statis karena jarang diubah, dihapus

3. Tabel Penghubung (Linking Table)


- berfungsi sebagai jembatan dua tabel yang mengalami relasi many to many.
JENIS - JENIS RELASI
17

• One – to – One
• One – to – Many
• Many – to - Many
ONE – TO - ONE
18

• Sebuah record di tabel A berhubungan tepat dengan hanya satu


record di tabel B.

Tabel A
Tabel B
......
......
ONE – TO - MANY
19

• Sebuah record di tabel A dapat berhubungan dengan satu atau lebih


record di tabel B.

Tabel A Tabel B

...... ......

......

......

......
MANY – TO - MANY
20

• Sebuah record di tabel A dapat berhubungan dengan lebih dari satu


record di tabel B.

Tabel A Tabel B
......
...... ......

...... ......

......

......
21
Relasi dengan many to many akan membuat tabel menjadi redudan.
Untuk menghindari relai ini biasanya dibuat tabel penghubung yang akan
merubah relasi dari many-to-many menjadi one-to-many

Tabel A&B
Tabel B
......
Tabel A ...... ......
...... ...... ......
...... ......
...... ......
...... ......
......

......
22

STUDI KASUS 1
23

ANDA DIMINTA MEMBUAT APLIKASI YANG DIGUNAKAN


UNTUK MENGELOLA JADWAL DOKTER JAGA DI SEBUAH
KLINIK.
Jawab :
Tahapan prosesnya adalah
1. buat tabel dokter
2. buat tabel spesialisasi dokter
3. buat jadwal (hari) kapan dokter itu berjaga di rumah sakit
TABEL DOKTER
24
tabel ini digunakan untuk menyimpan data dokter
field yang dibutuhkan :
- nama_dokter dokter

- alamat kd_dokter *
nama_dokter
- jns_kelamin
alamat
- telpon
......
- ............
Setelah itu buatlah sebuah field yang bisa dijadikan primary key
TABEL SPESIALIS
25
Tabel ini digunakan untuk menyimpan semua data spesialis dokter di
klinik tersebut
field yang dibutuhkan :
- spesialis
- ............
Setelah itu buatlah sebuah field yang bisa dijadikan primary key
spesialis
kd_spesialis *
spesialis
......
TABEL JADWAL JAGA
26
Tabel ini digunakan untuk menyimpan semua data jadwal jaga dokter
field yang dibutuhkan :
- hari
- jam_mulai
- jam_selesai
- .....
Setelah itu buatlah sebuah field yang bisa dijadikan primary key
praktek
no *
hari
jam_mulai
jam_selesai
......
27
spesialis dokter praktek
kd_spesialis * kd_dokter * no *
spesialis nama_dokter hari
...... alamat jam_mulai
...... jam_selesai
......

Buatlah foreign key pada tiap-tiap tabel yang dapat menghubungkan tabel
satu dengan tabel lainnya
28

spesialis dokter praktek


kd_spesialis * kd_dokter * no *
spesialis nama_dokter Kd_dokter **
...... kd_spesialis ** hari
alamat jam_mulai
...... jam_selesai
......
29

STUDI KASUS 2
30
Anda diminta membuat aplikasi yang digunakan untuk pengelolaan
jadwal tes di sebuah sekolah, dengan output :
JAWAB
31
32

STUDI KASUS 3
Anda diminta membuat aplikasi yang digunakan untuk pengelolaan
33
database buku di sebuah perpustakaan, dengan output :
JAWAB
34
35

STUDI KASUS 4
Anda diminta membuat aplikasi yang digunakan untuk pengelolaan
database koleksi film di sebuah toko rental VCD & DVD, dengan output :
36
JAWAB
37

Anda mungkin juga menyukai