You are on page 1of 25

Matakuliah : Sistem Basisdata

Versi : 1.0.0
Materi : Basis Data Relasional
Penyaji : Zulkarnaen NS

1
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
Selesai

You might also like