Anda di halaman 1dari 12

STKIP SURYA

SISTEM BASIS
DATA
Modul Perkuliahan

Alfa Satyaputra, Elfa Silfiana, Fathoni A. Musyaffa


Edisi Pertama 2012, Update 2014

DAFTAR ISI
Pengenalan Basis Data
Entity Relationship Diagram (ER-D)
Aljabar Relasional
Normalisasi dan Perancangan Basis Data
SQL
OpenOffice Base
Integritas Data
Keamanan Data
Transaksi
Kendali Konkurensi
MySQL

Bab 1. Pengenalan Basis Data


Tujuan :
1. Mahasiswa dapat mengerti konsep basis data
2. Mahasiswa mengetahui sejarah basis data
3. Mahasiswa dapat mengerti pentingnya penggunaan basis data
4. Mahasiswa dapat memahami komponen-komponen basis data

Gambar 1.1: Ilustrasi Basis Data


1.1.

Pengertian basis data

Data dapat didefinisikan sebagai pernyataan yang diterima secara apa adanya. Pernyataan
ini adalah hasil pengukuran atau pengamatan suatu variabel yang bentuknya dapat berupa
angka, kata-kata, atau citra/gambar. Contoh-contoh data yaitu biodata/data diri, daftar nilai,
suhu udara, skor pertandingan sepakbola, dan banyak lagi.
Basis data atau database adalah kumpulan datayang disimpan di dalam komputer secara
sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk
memperoleh informasi dari basis data tersebut.
1.2.

Basis data di sekitar kita

Mungkin anda belum menyadarinya, namun basis data banyak sekali digunakan di sekitar
kita. Kita berinteraksi dengan basis data ketika kita mengambil uang lewat ATM, mencari
informasi dengan Google, pergi ke dokter, mengecek jadwal kuliah di sistem informasi
universitas, mencari tiket pesawat, dan banyak lagi. Dari sini anda dapat melihat bahwa
basis data memiliki aplikasi yang sangat luas dan beragam. Kebutuhan akan orang yang
dapat memahami, mengembangkan dan mengoperasikan basis data akan terus meningkat
karena banyaknya informasi yang harus dikelola.
Sebagai ilustrasi, Google menggunakan BigTable, sebuah sistem untuk penyimpanan data
di Google yang berjumlah sangat besar. Sebuah artikel mengestimasi bahwa Google
memiliki kurang lebih 450,000 server yang tersebar di seluruh dunia. Server-server ini
dibutuhkan untuk memproses pencarian melalui Google, dan juga aplikasi seperti Gmail,
Blogger, Google Docs, Google+ dan banyak lagi. Sebuah survei menemukan bahwa pada

bulan April 2005, pemakai internet di Amerika melalukan 6.6 miliar pencarian online, 2.9
miliar diantaranya dilakukan melalui Google. Google sendiri memiliki index sebanyak 8 miliar
website. Dapat diperkirakan betapa pentingnya memiliki sistem penyimpanan yang mampu
mengelola sekian banyak data sehingga dapat memberikan layanan terbaik bagi para
pengguna Google.
1.3.

Sistem Manajemen Basis Data (DBMS)

Sistem untuk pengelolaan basis data dinamakan sistem basis data atau database system
(DBS). DBS mencakup software database dan data itu sendiri. Perangkat lunak (software)
yang digunakan untuk mengelola basis data dan menjalankan operasi terhadap data yang
diminta pengguna dinamakan Sistem Manajemen Basis Data atau Database Management
System (DBMS). Bagian dari dunia nyata yang datanya disimpan dalam database disebut
mini-world. Contoh mini-world: Nilai mahasiswa dan Kartu Hasil Studi dalam sebuah
Universitas.
Beberapa contoh perangkat lunak DBMS yang berbayar (proprietary) adalah Microsoft SQL
Server, Oracle, Microsoft Access, DB2, dan Sybase. Selain itu, ada juga beberapa alternatif
DBMS sumber terbuka (open source), yaitu MySQL, PostgreSQL, Interbase/Firebird, Ingres,
dan Open/LibreOffice Base. Di kelas ini kita akan mempelajari cara memakai beberapa
DBMS di atas.

Gambar 1.2: Beberapa Contoh DBMS (MySQL, Microsoft SQL Server, Oracle,
LibreOffice Base)
DBMS merupakan salah satu jenis perangkat lunak yang paling kompleks dibanding
perangkat lunak lainnya. Sebuah DBMS harus memiliki fitur-fitur berikut:
Mendefinisikan database: termasuk tipe data, struktur data, dan batasan-batasan
Dapat membuat basis data dengan schema (struktur logika dari data) yang bisa
ditentukan.
Dapat melakukan query terhadap data. Query adalah istilah dalam basis data untuk
permintaan menarik informasi tertentu dari basis data. (contoh: tampilkan semua
mahasiswa yang mendapat nilai 80 atas lebih di kelas Pengenalan Komputer 1)
Membuat laporan, memasukkan data, menghapus data, dan mengubah isi data.

Dapat menyimpan data yang berjumlah sangat besar dengan waktu yang sangat
lama, mengamankan data dari akses yang tidak diinginkan, dan membuat supaya
data dapat diakses secara efisien.
Mengendalikan permintaan proses basis data (atau disebut juga dengan transaksi)
dari beberapa pengguna di waktu yang sama supaya tidak terjadi masalah pada
basis data. Ini dikenal juga dengan nama kendali konkurensi (concurrency control).
Contoh: pengguna A menghapus sebuah data dan pengguna B melakukan query
terhadap data yang sama pada waktu yang hampir bersamaan. Apakah pengguna B
dapat melihat data yang baru dihapus pengguna A?
Mengelola keamanan data.
Di kelas ini kita akan mempelajari bagaimana menggunakan DBMS untuk mengerjakan
semua itu.
1.4.

Sejarah perkembangan basis data

Sejalan dengan perkembangan teknologi komputer, konsep untuk penggunaan basis data
pun semakin berkembang hingga masa kini. Secara umum perkembangan basis data dapat
dibagi menjadi beberapa tahapan:
Tahap I (1960-an). Tahap I ini merupakan tahap awal penggunaan basis data untuk
mengolah data, dimana sebelumnya banyak menggunakan cara manual. Pada tahap
ini data diolah menggunakan sistem file (filesystem), dimana data yang sejenis
(contoh: daftar nilai) dikelompokkan dalam satu file. Di tahap ini mulai dikembangkan
konsep sistem basis data (DBS) dan sistem manajemen basis data (DBMS) untuk
semakin mengembangkan dan memperbaiki metode penyimpanan dalam basis data.
Tahap II (1970-an). Pada tahun 1970, Dr. Edgar Ted Codd mendefinisikan
relasional model untuk data. Lalu, Peter Chen mendefinisikan konsep basis data
relasional (relational database) pada tahun 1976. Sistem manajemen basis data
relasional (RDBMS) pertama adalan RDMS yang dikembangkan oleh MIT pada
tahun 1970. Namun sistem basis data relasional belum terlalu diminati karena terlalu
besar dan berat untuk komputer masa itu.

Gambar 1.3: Tokoh-tokoh Basis Data Relasional, Dr. Peter Chen dan Dr. Edgar
Ted Codd

Tahap III (1980-an). RDBMS semakin populer dan banyak digunakan di tahap ini,
mengikuti perkembangan komputer yang semakin canggih sehingga mampu
menjalankan RDBMS dengan baik. Structured Query Language atau disingkat
dengan SQL menjadi bahasa pemrograman dominan yang digunakan di RDBMS.
Tahap IV (1990-an). RDBMS semakin mendominasi dalam pemrosesan data dan
masih terus dominan sampai sekarang. Aplikasi basis data semakin berkembang
untuk dapat menggunakan tipe data yang lebih kompleks (contoh: gambar, suara,
animasi, video). Konsep pemrograman berorientasi objek (Object-Oriented
Programming/OOP) semakin marak di era ini, sehingga dikembangkan basis data
berorientasi objek (Object-Oriented Database/OODB) yang menggunakan konsepkonsep OOP.
Tahap V (2000-an). Penggunaan Internet/World Wide Web yang semakin luas dan
banyak semakin meningkatkan kebutuhan akan basis data. Sistem basis data saat
ini membutuhkan kemampuan pemrosesan transaksi dan reliabilitas yang sangat
tinggi, dimana ia harus mampu beroperasi selama 7 x 24 jam.
Kedepannya basis data akan terus dikembangkan untuk bisa melakukan berbagai
fungsi yang semakin canggih, seperti pengolahan tipe data yang semakin kompleks,
pengembangan DBMS bertipe Objek-relasional, penyimpanan dan pencarian data
yang semakin canggih, pengembangan aplikasi kecerdasan buatan (artificial
intelligence) dan layanan informasi, dan banyak lagi.
1.5.

Mengapa basis data?

Mungkin anda bertanya-tanya, mengapa kita perlu belajar menggunakan sistem basis data?
Apa keuntungannya disbanding menggunakan sistem file yang selama ini kita kenal? Mari
kita lihat sebuah contoh untuk system di sebuah universitas yang memiliki dua file, satu
untuk data dan satu untuk data nilai mata kuliah. Berikut adalah ilustrasi system file tersebut:

Gambar 1.4: Contoh sistem file untuk data mahasiswa dan mata kuliah
Dalam basis data, setiap kolom dalam tabel kita sebut sebagai field, yaitu didefinisikan
sebagai wadah terkecil untuk sebuah elemen data. Setiap baris kita sebut sebagai record,
yaitu didefinisikan sebagai kumpulan field yang mendeskripsikan suatu objek atau entitas.
Kumpulan record kita sebut sebagai table. Contoh isi kedua tabel tersebut bisa dilihat di
bawah.
Tabel NilaiMataKuliah.ods

Nama
Jonathan Rangga
Ahmad Ridwan
Lenda Kogoya
Robertus
Anggono

Tuga
s
70
82
75
67

UTS

UAS

84
80
78
75

87
55
73
?
Perubahan di satu
tabel akan berefek ke
tabel lainnya.
Bagaimana mengatasi

Tabel Mahasiswa.ods
L/P
L
L

Jurusan
TIK
Matematik
a
TIK
Fisika

Status
Aktif
Aktif

masalah ini?

NIM
1100321
1100201

Nama
Jonathan Rangga
Ahmad Ridwan

1100412
1100558

Lenda Kogoya
P
Aktif
Robertus
L
Pindah
Anggono
Gambar 1.5: Ilustrasi isi dan operasi dari kedua tabel

Misalkan siswa bernama Robertus Anggono pindah ke universitas lain sehingga status nya
menjadi Pindah di Tabel Mahasiswa. Namun apabila pemilik tabel tidak menghapus
recordnya di Tabel NilaiMataKuliah, ia akan dianggap masih mengikuti kuliah tersebut, dan
bisa menimbulkan masalah pada saat pemberian nilai
Masalah seperti di contoh ini dikenal dengan nama data redundansi dan inkonsistensi.
Redundansi adalah dimana ada data yang sama yang digunakan pada beberapa file (nama
mahasiswa di contoh). Inkonsistensi adalah apabila terjadi perubahan pada data di salah
satu file namun data yang sama di file lainnya tidak diubah.

Selain itu, beberapa masalah lain yang dapat timbul dari file system adalah:
-

Bagaimana apabila ada dua atau lebih pemakai yang mau


mengakses data pada waktu yang sama?
Bagaimana proses untuk insert, delete, search, update?
Bagaimana mengatur data yang berjumlah sangat besar?
Bagaimana cara mengamankan data, mengendalikan akses?
Data ada dalam beberapa file format yang berbeda (contoh: teks,
calc, presentasi)

Penggunaan DBMS dapat mengatasi masalah-masalah yang disebutkan di atas. Dibawah


ini adalah ilustrasi untuk penggunaan DBMS untuk kedua contoh diatas, dimana semua
record dari aplikasi yang kita pakai disimpan dalam satu basis data dan akses dikelola oleh
DBMS. Kita akan pelajari lebih lanjut di bab-bab berikutnya bagaimana DBMS dapat
mengatasi masalah-masalah tersebut.

Gambar 1.6: Penggunaan DBMS sebagai pengganti sistem file

1.6 Ciri-ciri pendekatan database


-

Sifat "Self-describing" dari sistem database: Sebuah katalog DBMS menyimpan


deskripsi dari database. DBMS bisa bekerja dengan database yang berbeda.

Pemisahan antara program dan data: atau ketidak-tergantungan antara program dan
data. memperbolehkan pengubahan struktur penyimpanan data dan operasi tanpa
harus mengubah aplikasi yang mengakses DBMS.

Abstraksi Data: Sebuah model data digunakan untuk menyembunyikan detail


penyimpanan dan memberikan pengguna conceptual view dari database.

Dukungan untuk view yang beragam dari data: Tiap user memiliki view yang berbeda
dari database, sesuai dengan peran yang dimiliki user.

Berbagi data dan pemrosesan transaksi dengan banyak pengguna:


memperbolehkan sekelompok pengguna untuk memperoleh data dan mengubah
data. Concurrency control dalam DBMS menjamin bahwa tiap transaksi berhasil
dilakukan sepenuhnya atau dibatalkan total meskipun operasi dilakukan dalam waktu
yang hampir bersamaan.

Manfaat penggunaan pendekatan database


-

Mengelola redundansi dalam usaha penyimpanan , pengembangan dan pengelolaan


data.

Berbagi data dengan banyak pengguna.

Pembatasan akses data dari pihak yang tidak berwenang.

Memberikan penyimpanan tetap unuk objek-objek program.

Memberikan struktur penyimpanan untuk pemrosesan query secara efisien.

Memberikan layanan backup dan recovery.

Memberikan interface yang beragam untuk kelas pengguna yang berbeda.

Merepresentasikan hubungan yang rumit antar data.

Mendorong tercapainya batasan-batasan untuk menjamin integritas data dalam


database.

Mengambil kesimpulan dan tindakan menggunakan aturan-aturan.

Implikasi tambahan dalam penggunaan database


-

Potensi untuk mendorong terciptanya standar. Standar disini mencakup nama tiap
item data, format display, layar, struktur laporan, metadata (deskripsi data).

Berkurangnya waktu yang diperlukan untuk mengembangkan aplikasi.

Fleksibilitas dalam mengubah strutur data: Struktur database mungkin akan berubah
seiring dengan kebutuhan baru.

Ketersediaan atas informasi terbaru. Sangat penting untuk sistem transaksi online
seperti pemesanan tiket pesawat dan hotel.

Economies of scale: penghematan biaya dengan bertambahnya level produksi.


Dengan menggabungkan data dan aplikasi antar departemen, pemborosan karena
adanya overlap antara alat dan karyawan dapat dihindari.

Kapan tidak menggunakan DBMS?


-

Penghambat utama dalam penggunaan DBMS:


o

Investasi awal berbiaya tinggi.

Pengeluaran tambahan untuk memberikan keumuman, keamanan, kontrol


pemrosesan secara bersamaan (concurrency), pemulihan dan integritas
fungsi.

DBMS tidak diperlukan ketika:

Jika database dan aplikasi sangat sederhana, terdefinisi dengan jelas, dan
diperkirakan tidak berubah.

Jika terdapat kebutuhan real-time yang tidak bisa dipenuhi karena adanya overhead
dalam DBMS.

Jika akses data oleh banyak pengguna tidak diperlukan.

Ketika tidak ada DBMS yang mencukupi kebutuhan,yakni jika database tidak mampu
menangani kerumitan data karena keterbatasan pemodelan data.

Jika pengguna database memerlukan operasi-operasi khusus yang tidak bisa


dipenuhi leh DBMS.

1.7 Pengguna database


Pihak di dalam layar
-

Administrator Database: bertanggungjawab untuk memberikan akses database,


mengkoordinasikan dan memantau penggunaan database, menyediakan software
dan hardware yang diperlukan, mengontrol penggunaan database dan memantau
efisiensi operasi di dalamnya.

Perancang Database: bertanggungjawab untuk mendefiniskan isi, struktur, batasan


dan fungsi atau transaksi yang diperlukan dalam database. Perancang database
harus berkomunikasi dengan end-user untuk memahami yang diperlukan.

End-users: Menggunakan database untuk melakukan query, membuat laporan dan


sebagian diantara mereka memperbarui isi database.

Kategori End Users


-

Casual: Mengakses database sesekali ketika diperlukan

Nave atau Parametric: Menggunakan query berupa fungsi-fungsi khusus yang telah
dirancang. Tipe pengguna ini merupakan pengguna terbesar dari kalangan end-user.
Contoh: Teller Bank dan petugas reservarsi yang melakukan aktivitas query selama
jam kerja mereka.

Sophisticated: termasuk analis bisnis, ilmuwan dan insinyur. Kebanyakan


menggunakan tools dalam bentuk paket software khusus.

Stand-alone: Sebagian besar mengelola database pribadi menggunakan aplikasiaplikasi yang siap pakai. Misalnya, program pengelolaan pajak pribadi.

TUGAS
Buatlah daftar tabel yang diperlukan dalam sebuah sistem basis data universitas selain yang
di contoh (minimal 5, kalau bisa lebih akan lebih bagus) dan beberapa contoh field dari tabel
tersebut. Buat menggunakan Open/LibreOffice Writer lalu kirimkan melalui moodle.

Referensi:
1. Elmari & Navathe, Fundamentals of Database Systems, 6/e, Addison-Wesley. 2011
2. Baseline.com, How Google Works Infrastructure News & Reviews
Baseline.com (http://www.baselinemag.com/c/a/Infrastructure/How-Google-Works-1/).
Diakses 26 Februari 2012.
3. Wikipedia, Data Wikipedia Bahasa Indonesia, ensiklopedia bebas.
(http://id.wikipedia.org/wiki/Data). Diakses 27 Februari 2012.
4. Wikipedia, Basis Data Wikipedia Bahasa Indonesia, ensiklopedia bebas.
(http://id.wikipedia.org/wiki/Basis_data). Diakses 27 Februari 2012.
5. Wikipedia, Sistem Manajemen Basis Data Wikipedia Bahasa Indonesia,
ensiklopedia bebas. (http://id.wikipedia.org/wiki/Sistem_manajemen_basis_data).
Diakses 27 Februari 2012.
6. Teknik
Informatika
UNS,
Jejak-Jejak
Virtual
H.S.
(http://lecturer.d3ti.mipa.uns.ac.id/setiadi/). Diakses 26 Februari 2012.
7. Garcia-Molina, H., Ullman, J., Widom, J.. Database Systems: The Complete Book
2nd Edition, Prentice Hall, 2008. (Website:
http://infolab.stanford.edu/~ullman/dscb.html).
8. Sutanta, Edhy. Basis Data dalam Tinjauan Konseptual, Penerbit Andi, 2011.
9. Nugroho, Adi. Perancangan dan Implementasi Sistem Basis Data, Penerbit Andi,
2011.