Anda di halaman 1dari 51

BASIS DATA

RELASIONAL
Pertemuan ke 2
ERLAN DARMAWAN, M.Si.

Basis Data Relasional


Model Basis Data Relasional sering disebut sebagai Model
Relasional atau Basis Data Relasional. Model basis data ini
ditemukan/diperkenalkan pertama kali oleh E.F Codd.
Model Basis Data menunjukkan suatu cara/mekanisme yang
digunakan untuk mengelola/mengorganisasi data secara fisik
dalam memori sekunder yang akan berdampak pada
bagaimana mengelompokkan dan membentuk keseluruhan
data yang terkait dalam sistem yang sedang ditinjau.

Pada Model Relasional, basis data akan ‘disebar’ ke dalam


berbagai tabel 2 dimensi. Setiap tabel selalu terdiri dari atas
lajur mendatar yang disebut dengan Baris Data (Row/Record)
dan lajur vertikal yang biasa disebut dengan Kolom
(Column/Field). Disetiap pertemuan baris data dan kolom itulah
item-item data ditempatkan.

2
Untuk menerapkan sebuah basis data (yang terdiri atas
sejumlah tabel yang saling berhubungan) maka membutuhkan
sebuah perangkat lunak (software) Sistem Pengelola Basis Data
(Database Management System).
Prinsip pemakaian kesemua perangkat lunak tersebut hampir
sama. Perbedaanya terletak pada teknis pemakaian dan
kelengkapan fungsi (feature) yang dimiliki masing-masing
perangkat lunak.

3
Untuk mengilustrasikan Model Data Relasional secara lebih
nyata, berikut diambil contoh sederhana yang berkaitan dengan
pendidikan perguruan tinggi
Basis data ini terdiri atas 3 buah tabel yaitu Mahasiswa, Dosen
dan Matakuliah (dengan mengabaikan terlebih dahulu upaya
perancangan untuk mendapatkan sebuah sistem yang lengkap
dan efisien)

Sebelum penerapan basis data dapat dilakukan (dengan


menggunakan salah satu perangkat keras DBMS), maka terlebih
dahulu harus diketahui contoh data yang akan digunakan.
Contoh data ini digunakan untuk mengetahui karakteristik
masing-masing tabel data.

Pengetahuan tentang karakteristik ini penting, karena akan


dijadikan dasar untuk penetapan struktur masing-masing tabel.
Didalam penerapan basis data, penetapan struktur tersebut
harus dilakukan sebelum penyimpanan datanya dilakukan.
4
Berikut contoh data yang akan digunakan
a. Data Mahasiswa dengan isi sebagai berikut
NIM Nama Mahasiswa Alamat Mahasiswa Tgl Lahir

980001 Ali Akbar Jl. Merdeka No. 10 Jakarta 40121 2 Jun 1979

980002 Budi Haryanto Jl. Gajah Mada No. 2 Jakarta 45123 6 Okt 1978

980003 Iman Faisal Komp Griya Asri Asri D2 Depok 40151 13 Mei 1978

980004 Indah Susanti Jl. Adil No. 123 Bogor 43212 21 Jan 1979

Dari data diatas dapat diketahui hal-hal (karakteristik) sebagai berikut:


 Data Mahasiswa tersebut memiliki 4 (empat) buah kolom data.
 Kolom pertama berisi data angka tetapi tidak menunjukkan suatu jumlah (alfa
numerik) dengan lebar (banyaknya karakter) tetap, yaitu 6 karakter/dijit.
 Kolom kedua berisi data karakter/string dengan lebar maksimum 30 karakter.
 Kolom ketiga berisi data karakter/string dengan lebar maksimum 60 karakter.
 Kolom keempat berisi data penanggalan.

5
b. Data Dosen dengan isi sebagai berikut
Nama Dosen Alamat Mahasiswa

Ir. Taufik Ismail Perum Dosen Griya Indah C-5 Bogor 43111

Dewi Sundari, MA Jl. Selamat No. 14 Jakarta 40121

Dr. Umar Hakim Jl. Garuda No. 2 Depok 43212

Dari data diatas dapat diketahui hal-hal (karakteristik) sebagai berikut:


 Data Dosen diatas memiliki 2 (dua) buah kolom data.
 Kolom pertama berisi data karakter/string dengan maksimum 35 karakter.
 Kolom kedua berisi data karakter/string dengan lebar maksimum 60 karakter.

6
c. Data Matakuliah dengan isi sebagai berikut
Kode Matakuliah SKS Semester

IF-110 Struktur Data 3 1

IF-310 Basis Data 4 3

KU-234 Bahasa Indonesia 2 2

MA-115 Matematika 1 3 1

Dari data diatas dapat diketahui hal-hal (karakteristik) sebagai berikut:


 Data Dosen diatas memiliki 2 (dua) buah kolom data.
 Kolom pertama berisi data karakter/string dengan maksimum 35 karakter.
 Kolom kedua berisi data karakter/string dengan lebar maksimum 60 karakter.

7
Berangkat dari karakteristik masing-masing kelompok data tadi,
maka dapat menetapkan struktur masing-masing tabel. Secara
minimal yang harus ditentukan dalam struktur tabel adalah:
1. Nama Kolom (field)
2. Tipe data
3. Lebar (banyaknya karakter/dijit maksimum yang dapat
ditampung)
Untuk nama kolom (field) biasanya disesuaikan dengan nama
kolom dari contoh data, tetapi penamaan kolom harus diubah
karena panjang nama kolom dalam DBMS biasanya dibatasi
(pembatasan ini berbeda antar masing-masing DBMS).

8
Berangkat dari karakteristik yang dapat disimpulkan dari fakta
yang ada pada masing-masing data, struktur dari ketiga Tabel
dalam basis data dapat ditentukan sebagai berikut:
a. Tabel Masiswa, dengan struktur:
Nama Kolom Tipe Lebar Deskripsi

nim character 6 nomor induk mahasiswa

nama_mhs character 30 nama setiap mahasiswa

alamat_mhs character 60 alamat setiap mahasiswa

tgl_lahir date 8 Tanggal lahir setiap mahasiswa

b. Tabel Dosen, dengan struktur:


Nama Kolom Tipe Lebar Deskripsi

nama_dos character 35 nama setiap dosen

alamat_dos character 60 alamat setiap dosen

9
c. Tabel Matakuliah, dengan struktur:
Nama Kolom Tipe Lebar Deskripsi

Kd_kul character 6 kode kuliah

nama_kul character 30 nama matakuliah

sks integer 1 jumlah bobot satuan kredit semester

semester integer 1 semester diselenggarakan perkuliahan

10
Berikut contoh penerapan struktur tersebut (khusus untuk tabel
mahasiswa saja)

11
Pengisian Data ke Tabel Mahasiswa dalam Ms. Access

12
Operasi dan Bahasa Basis Data
Di samping melakukan operasi pengisian/penambahan data ke
masing-masing tabel yang strukturnya telah disiapkan operasi-
operasi yang dapat dilakukan adalah:
 Menampilkan data (query)
 Pengubahan data (update/edit)
 Penghapusandata (delete)
Cara/teknis penerapan operasi-operasi basis data tersebut
tergantung dari DBMS yang digunakan. Tetapi secara umum,
ada dua macam cara untuk menjalankan operasi-operasi basis
data, yaitu:
a. Menjalankan program khusus untuk melakukan operasi basis
data secara interaktif
Program ini disediakan oleh DBMS untuk mempermudah
pemakai (user) dalam melakukan operasi-operasi basis data.
Kemudahan tersebut dalam bentuk penyediaan menu dan
bahkan ditambah dengan pemanfaatan perangkat mouse
(untuk DBMS yang berbasis grafis).

13
b. Menggunakan bahasa basis data (Data Manipulation
Language)
Dengan bahasa basis data, pemakai harus menuliskan
perintah-perintah khusus untuk melakukan operasi-operasi
basis data. Bahasa basis data tersebut ada yang memang
berlaku khusus untuk DBMS (seperti bahasa dBase untuk
dBase III+ dan Foxbase, Quel untuk CA-Open Ingres), tetapi
ada pula bahasa basis data yang sudah menjadi standar
(seperti SQL untuk MS-SQL Server, Oracle, dll)
Relasi Antar Tabel
Salah satu definisi basis data menyebutkan basis data terdiri
atas tabel-tabel yang saling berhubungan. Data dosen,
mahasiswa dan kuliah memang terasa berhubungan tetapi dari
struktur dan data yang terdapat pada ketiga tabel yang telah
digambarkan, keterhubungan (relasi) tersebut tidak terlihat
secara fisik/nyata. Karena itu, representasi stuktur dan data
dari ketiga tabel tersebut belumlah mencukupi untuk
dinyatakan sebagai sebuah basis data.
Dengan demikian, untuk membentuk sebuah basis data, harus
melengkapi ketiga tabel tersebut dengan tabel lain yang
merepresentasikan keterhubungan (relasi) antar ketiganya,
Berikut adalah data tambahan yang dibutuhkan untuk
menunjukkan adanya keterhubungan (relasi) antar ketiga tabel-
tabel tersebut

15
a. Data Nilai, dengan data sebagai berikut
Matakuliah NIM Nama Mahasiswa Indeks Nilai
Struktur Data 980001 Ali Akbar A
Struktur Data 980004 Indah Susanti B
Basis Data 980001 Ali Akbar
Basis Data 980002 Budi Haryanto
Basis Data 980004 Indah Susanti
Bahasa Indonesia 980001 Ali Akbar B
Matematika I 980002 Budi Haryanto C

Yang dapat disimpulkan dari data Nilai tersebut adalah:


 Data Nilai merepresentasikan adanya relasi antara data Mahasiswa dengan
data Kuliah untuk menunjukkan mata kuliah yang diambil/diikuti mahasiswa
dan indeks nilai yang diperoleh mahasiswa untuk matakuliah yang diikutinya,
 Seorang mahasiswa dapat mengambil/mengikuti beberapa matakuliah atau
tidak mengikuti kuliah apapun (misal: mahasiswa bernama ‘Ali Akbar’
mengambil 3 matakuliah dan mahasiswa bernama ‘Iman Faisal’ yang tidak
terlihat menunjukkan ia tidak mengikuti kuliah apapun).
 Satu matakuliah dapat diikuti oleh beberapa mahasiswa (misal: matakuliah
‘Struktur Data’ diikuti 2 mahasiswa, ‘Basis Data’ diikuti 3 mahasiswa dst..)
 3 matakuliah sudah memiliki data indeks nilai dan ada 1 mata kuliah (‘Basis
Data’) belum memiliki data indeks nilai (datanya masih kosong).
b. Data Jadwal, dengan data sebagai berikut
Matakuliah Waktu Tempat Nama Dosen
Senin, 08.00 – 09.40 dan
Struktur Data Ruang A Dr. Umar Hakim
Kamis, 11.00 – 11.50
Selasa, 10.00 – 11.40 dan
Basis Data Ruang B Dr. Umar Hakim
Jum’at 08.00 – 09.30
Bahasa Indonesia Rabu, 09.00 – 10.50 Ruang A Dewi Sundari, MA
Rabu, 13.00 – 14.40 dan
Matematika I Ruang C Ir. Taufik Ismail
Jum’at, 14.00 – 15.50

Yang dapat disimpulkan dari data diatas adalah:


 Data jadwal di atas merepresentasikan adanya relasi antara data Kuliah
dengan data Dosen untuk menunjukkan nama dosen mengajar setiap
matakkuliah ditambah dengan data waktu dan tempat pelaksanaan
perkuliahannya.
 Setiap matakuliah hanya dapat diajarkan oleh seorang dosen, namun seorang
dosen boleh mengajar lebih dari 1 matakuliah (Dr. Umam Hakim mengajar 2
matakuliah, tentu saja pada waktu yang berbeda).
Tanpa mempertimbangkan masalah efisiensi, data tambahan
tadi dapat segera diimplementasikan. Struktur dari kedua
tambahan tersebut adalah sebagai berikut:
a. Tabel Nilai, dengan struktur:
Nama Kolom Tipe Lebar Deskripsi

nama_kul character 30 nama setiap matakuliah

nim character 6 nomor induk mahasiswa

nama_mhs character 30 nama setiap mahasiswa

indeks_nilai character 1 Indeks matakuliah yang diambil mahasiswa

b. Tabel Jadwal, dengan struktur:


Nama Kolom Tipe Lebar Deskripsi

nama_kul character 35 nama setiap matakuliah

waktu character 60 waktu penyelenggaraan kuliah

tempat character 10 tempat penyelenggaraan kuliah

nama_dos character 35 nama setiap dosen

18
Dengan adanya kedua tabel tambahan yang menunjukkan relasi
antar tabel sebelumnya, maka syarat minimal sebuah basis data
telah terpenuhi. Tetapi perlu diperhatikan, persoalan utama
dalam penerapan basis data bukanlah agar data yang dimiliki
dapat segera disimpan. Yang paling penting yang perlu
dipikirkan justru bagaimana agar operasi-operasi senjutnya
(pencarian data, pengubahan data hingga penghapusan data)
dapat dilakukan dengan mudah

19
Basis Data yang Baik
Kelima buah tabel telah membentuk sebuah basis data, perlu
dianalisis lebih jauh dari berbagai aspek efisiensi tempat
penyimpanan data, integritas data, kemudahan operasi data dll.
Jika aspek-aspek tersebut telah dipertimbangkan dengan baik,
maka akan melahirkan sebuah basis data yang baik.
Berikut adalah sejumlah uraian yang menunjukkan inefisiensi
basis data perkuliahan yang berisi kelima tabel tersebut:
 Bisa saja terjadi ada lebih dari 1 dosen dengan nama (termasuk gelarnya)
yang sama.
 Pada tabel Mahasiswa dapat mengetahui nama mahasiswa melalui data NIM-
nya. Karena itu, penyertaan data nama mahasiswa pada tabel Nilai menjadi
tidak praktis/efisien, data nama mahasiswa tidak disertakan akan tetap masih
dapat mengetahui nama mahasiswa yang mengambil matakuliah tertentu
dengan mengacu ke tabel Mahasiswa.
 Jika melakukan pengubahan terhadap nama matakuliah (baik karena
kesalahan maupun perbaikan data), maka perubahan ini harus diikuti juga
dengan perubahan di tabel lain.
 Pada tabel Jadwal, bagaimana menyatakan struktur waktu perkuliahan,
berikut adalah sejumlah alternatif representasii tabel untuk kasus tersebut

20
a. Alternatif 1 (lebar kolom waktu dan Tempat diperbesar)
Matakuliah Waktu Tempat Nama Dosen
Senin, 08.00 – 09.40 dan Ruang A
Struktur Data Dr. Umar Hakim
Kamis, 11.00 – 11.50 Ruang B
Selasa, 10.00 – 11.40 dan Ruang B
Basis Data Dr. Umar Hakim
Jum’at 08.00 – 09.30 Ruang C
Bahasa Indonesia Rabu, 09.00 – 10.50 Ruang A Dewi Sundari, MA
… .. .. ..

Kelemahan pada alternatif ini lebar kolom untuk waktu dan


tempat mubazir bagi matakuliah yang dilaksanakan 1
kali/minggu.
b. Alternatif 2 (matakuliah yang 2 kali/minggu dinyatakan
dalam 2 baris)
Matakuliah Waktu Tempat Nama Dosen
Struktur Data Senin, 08.00 – 09.40 Ruang A Dr. Umar Hakim
Struktur Data Kamis, 11.00 – 11.50 Ruang B Dr. Umar Hakim
Basis Data Selasa, 10.00 – 11.40 Ruang B Dr. Umar Hakim
Basis Data Jum’at 08.00 – 09.30 Ruang C Dr. Umar Hakim
Bahasa Indonesia Rabu, 09.00 – 10.50 Ruang A Dewi Sundari, MA
… … … …

Kelemahan pada alternatif ini data nama dosen akan disimpan


berulang-ulang untuk matakuliah yang dilaksanakan dalam 2
kali/seminggu
c. Alternatif 3 (matakuliah yang 2 kali/minggu diakomodasi
dalam kolom terpisah)
Matakuliah Waktu1 Waktu2 Tempat1 Tempat2 Nama Dosen
Struktur Data Senin, 08.00 – 09.40 Kamis, 11.00 – 11.50 Ruang A Ruang B Dr. Umar Hakim
Basis Data Selasa, 10.00 – 11.40 Jum’at 08.00 – 09.30 Ruang B Ruang C Dr. Umar Hakim
Bahasa Indonesia Rabu, 09.00 – 10.50 Ruang A Dewi Sundari, MA
… … … … … …

Kelemahan pada alternatif ini kolom waktu2 dan tempat2 akan


jadi mubazir untuk matakuliah yang dilaksanakan hanya dalam
1 kali/seminggu.
Pembentukkan basis data yang baik (efisien) sebagai sebuah
hasil perancangan yang matang akan memberi sejumlah
karakteristik dan keuntungan seperti:
 Struktur basis data (tabel-tabel dan relasi antar tabel) yang
lebih kompak
 Struktur masing-masing tabel yang lebih efisien dan
sistematis
 Kebutuhan ruang penyimpanan data (memori sekunder) yang
lebih efisien
 Semakin kecil ukuran tabel, maka akan semakin cepat
operasi basis data yang dilakukan
 Efisiensi tersebut ditandai dengan redundansi data yang
optimal.
 Tidak ada ambiguitas data di semua tabel dalam basis data
 dll

24
3 MODEL DATABASE

Tiga model database yang cukup dikenal adalah :


• Model Hierarkikal
• Model Jaringan
• Model Relasional

Basis Data Relasional


STRUKTUR HIRARKI

Basis Data Relasional


Basis Data Relasional
MODEL BASIS DATA JARINGAN

Basis Data Relasional


Basis Data Relasional
• Saat ini Model Relasional adalah dominan. Karena itu hampir
semua penjual perangkat lunak database menawarkan produk
perangkat lunak Relational Database Management Systems
(RDBMS).

Basis Data Relasional


RDBMS dibuat dengan struktur tiga skema, yaitu :
• Eksternal
• Konseptual
• Internal

Basis Data Relasional


ISTILAH DALAM BASIS DATA
RELASIONAL (1)
• Relasi:
Sebuah tabel yang terdiri dari beberapa kolom dan beberapa
baris.
• Atribut:
Kolom pada sebuah relasi
• Tupel
Baris pada sebuah relasi

Basis Data Relasional


ISTILAH DALAM BASIS DATA
RELASIONAL (2)
• Domain
Kumpulan nilai yang valid untuk satu atau lebih atribut
• Derajat (degree)
Jumlah atribut dalam sebuah relasi
• Cardinality
Jumlah tupel dalam sebuah relasi

Basis Data Relasional


ILUSTRASI

Basis Data Relasional


RELATIONAL KEY

• Super key
Satu atribut/kumpulan atribut yang secara unik mengidentifikasi
sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih
untuk membedakan antara 1 record dengan record lainnya).

Contoh: Untuk tabel MHS, super key-nya:


• NPM
• NAMA (dengan syarat tidak ada nama yang sama)
• ALAMAT (dengan syarat tidak ada alamat yang sama)
• NPM + NAMA
• NPM + ALAMAT
• NAMA + ALAMAT
• NPM + NAMA + ALAMAT

Basis Data Relasional


• Candidate key
Atribut di dalam relasi yang biasanya mempunyai nilai unik
(super key dengan jumlah field yang paling sedikit)
Maka, candidate key-nya adalah NPM, NAMA dan ALAMAT
(karena hanya terdiri dari 1 field saja)

Basis Data Relasional


• Primary key
Candidate key yang dipilih untuk mengidentifikasikan tupel
secara unik dalam relasi
Maka, primary key yang dipilih adalah NPM (unik, tidak ada
NPM yang sama).

Basis Data Relasional


• Alternate key
Candidate key yang tidak dipilih sebagai primary key
Maka, candidate key-nya NAMA dan ALAMAT

Basis Data Relasional


• Foreign key
Atribut dengan domain yang sama yang menjadi kunci utama
pada sebuah relasi tetapi pada relasi lain atribut tersebut
hanya sebagai atribut biasa

Basis Data Relasional


ILUSTRASI

Basis Data Relasional


RELATIONAL INTEGRITY RULES
(1)
1. Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok
untuk baris (tuple) tersebut

2. Entity Integrity
Tidak ada satu komponen primary key yang
bernilai null

Basis Data Relasional


RELATIONAL INTEGRITY RULES
(2)

3. Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer
bila merupakan atribut tunggal pada domain
yang bersangkutan

Basis Data Relasional


CONTOH BASIS DATA
Nama tabel SISWA
RELASIONAL
Primary key NOMHS
Foreign key KODE_WALI

Hubungan

Contoh Sederhana Basis Data Relasional


Basis Data Relasional
BAHASA PADA BASIS DATA
RELATIONAL
• Menggunakan bahasa query  pernyataan yang diajukan
untuk mengambil informasi
• Bahasa pada basis data relasional terbagi menjadi 2 yaitu:

Basis Data Relasional


BAHASA FORMAL

Bahasa query yang diterjemahkan dengan menggunakan


simbol-simbol matematis

Contoh:
Aljabar relasional
Kalkulus relasional

Basis Data Relasional


BAHASA KOMERSIAL

Bahasa Query yang dirancang sendiri oleh programmer


menjadi suatu program aplikasi agar pemakai lebih mudah
menggunakannya (user friendly).

Basis Data Relasional


BAHASA KOMERSIAL
(LANJUTAN)
• QUEL
Berbasis pada bahasa kalkulus relasional
• QBE
Berbasis pada bahasa kalkulus relasional
• SQL
Berbasis pada bahasa kalkulus relasional dan aljabar relasional

Basis Data Relasional


CONTOH-CONTOH BASIS DATA
RELASIONAL
• DB2  IBM
• ORACLE  Oracle
• SYBASE  Powersoft
• INFORMIX  Informix
• Microsoft Access  Microsoft

Basis Data Relasional


DEFINISI
RELASI YANG BERSTRUKTUR BAIK

• Relasi yang mengandung redundansi yang minimal dan


mengijinkan pengguna untuk menyisipkan, memodifikasi,
serta menghapus baris-baris tanpa menimbulkan kesalahan.

Basis Data Relasional


QUIZ
MAHASISWA

NIM NAMA KOTA UMUR


02134566 Siti Surabaya 23 th
02134567 Budi Malang 21 th
02134568 Arif Sidoarjo 20 th
02134569 Aris Pasuruan 23 th
02134570 Rifki Krian 22 th
02134571 Mala Kediri 20 th
Basis Data Relasional
Dari data di atas, tentukan:
• Relasi,
• Atribut,
• Tupel,
• Domain,
• Derajat,
• Cardinality

Basis Data Relasional

Anda mungkin juga menyukai