1
VERIFIKASI BAHAN AJAR
Pada hari ini ......... tanggal ..... bulan ................... tahun ......... Bahan Ajar Mata Kuliah
................. Program Studi ...................................................................... Fakultas
...................... telah diverifikasi oleh Ketua Jurusan/ Ketua Program Studi
................................................................
Padang, .................................
Ketua Jurusan/ Ketua Prodi SI Tim Penulis
..................................... ……………………………
NIDN. NIDN.
Diketahui oleh.
Dekan Fakultas,
………………………………
NIDN.
2
Ka
Segala puji bagi Allah, pemilik segenap jiwa dan cinta, yang selalu
Akhirnya atas segala anugrah dan izin Allah S.W.T, penulisan Bahan Ajar
Perancangan Basis Data ini bisa diselesaikan dengan baik. Besar harapan
penulis bahan ajar ini bisa berkontribusi untuk membantu mahasiswa maupun
sedalam-dalamnya kepada Allah S.W.T dengan rasa syukur yang tiada henti-
hentinya.
masih banyak terdapat kekurangan dan kelemahan pada bahan ajar ini yang
disebabkan oleh keterbatasan penulis. Oleh karena itu, kritik dan saran yang
ini.
Penulis
Da
3
Cover i
Kata Pengantar ii
Daftar Isi iii
Deskripsi Singkat Mata Kuliah ix
Capaian Mata Kuliah ix
4
1.1.8 Merancang Blueprint Basis Data dengan menggunakan
ERD………….12
1.2.1
Superclass……………………………………………………………………
………………………………………..14
1.2.2
Subclass………………………………………………………………………
……………………………………………14
1.2.3
Spesialization…………………………………………………………………
……………………………………….15
1.2.4
Generalization………………………………………………………………
…………………………………………15
6.1 SQL
6.2 Sintak-sintak SQL (Query DDL dan Query DML)
6.3 Modifikasi Basis Data
5
8.2 Pilihan Untuk Basis Data Tersebar
8.3 DBMS Tersebar
8.4 Produk DBMS Tersebar
GLOSSARY
INDEX
De
skr
Matakuliah ini merupakan lanjutan dari matakuliah sistem basis data.
tabel, bahasa query dan pemanfaatan alat bantu (tools) untuk perancangan
basis data.
Ca
1. Mampu menjelaskan konsep basisdata dan menentukan tipe data pada
basisdata.
2. Mampu merancang basisdata.
3. Mampu menguraikan permasalahan basisdata dalam bentuk normalisasi
berdasarkan hasil diagnosis permasalahan di lapangan.
6
4. Mampu mengaplikasikan bahasa SQL untuk membangun basisdata
pada Database Management System (DBMS).
5. Mampu membangun hasil rancangan basisdata ke dalam DBMS
MySQL.
7
1 Peng
enala
n
PENDAHULUAN
A. Deskripsi Singkat
Bab ini mengajak pembaca untuk memahami konsep dasar basis data
berupa data dan informasi, definisi basis data dan DBMS, sistem informasi,
konsep perancangan basis data, tabel pada basis data dan komponennya,
Mahasiswa atau pembaca dapat mengetahui konsep dasar basis data dan
C. Capaian Pembelajaran
Basis Data
Data adalah fakta tentang orang, tempat, benda atau kejadian. Data bisa
berbentuk angka, simbol, karakter, gambar, video dan audio. Data dalam
persediaan dan lainnya. Sebagai contoh, data karyawan seperti ; nama, tanggal
lahir, jenis kelamin dan golongan. Data konsumen ; nama konsumen, alamat,
Data dikenal sebagai asset bisnis yang sangat penting karena data merupakan
didefinisikan sebagai data yang sudah diolah atau diproses. Informasi dinilai
Informasi yang baik tidak bisa dihasilkan dari data yang buruk.
Definisi data menurut ahli Robert N. Antony dengan John Dearden, ialah bentuk
Jogyanto
Selamet Riyadi
didapat dari pengamatan yang mana data dapat berupa angka-angka ataupun
lambang-lambang.
Anton M. Moeliono
Informasi juga termasuk keterangan ataupun bahan nyata yang bisa dijadikan
Jordon B.Davis
Informasi menurut pendapat Jordon B.Davis, ialah data yang sudah diolah
menjadi sebuah bentuk yang penting untuk penerima informasi dengan nilai
yang nyata serta bisa dirasakan dalam keputusan-keputusan saat ini ataupun di
Kusrini
10 | P e r a n c a n g a n B a s i s D a t a
Berikutnya informasi menurut pendapat Kusrini, ialah data yang telah diolah
menjadi bentuk yang berarti untuk pengguna, yang bisa bermanfaat untuk
6. Mekanisme keamanan.
11 | P e r a n c a n g a n B a s i s D a t a
Hampir di semua sektor sistem informasi memainkan peran yang penting,
Sebuah entitas bisa berupa orang, tempat, benda, kejadian, atau sebuah
konsep. Sebuah entitas dapat berupa fisik ataupun non-fisik yang tak
bisa diraba. Singkatnya sebuah entitas bisa apapun yang ingin jejaki
berikut:
Entity set adalah penamaan untuk kumpulan dari beberapa data yang
saling berelasi. Data dalam sebuah entity set berelasi sesuai dengan
berhubungan dengan fakta atau data karyawan. Dalam kata lain, entity
12 | P e r a n c a n g a n B a s i s D a t a
Setiap entitas mempunyai karakteristik yang disebut dengan attribute.
menggunakan garis.
Entitas disimpan dalam bentuk table dalam sebuah basis data. Jadi
1. Candidate Key
13 | P e r a n c a n g a n B a s i s D a t a
Candidate Key (kunci calon) merupakan kunci yang menjadi calon
primary key. Setiap tabel dapat memiliki satu atau lebih candidate
key.
Contoh:
File mahasiswa berisi attribute :
Ø Nobp
Ø No KTP
Ø Nama
Ø Tempat lahir
Ø Tanggal lahir
Ø Alamat
Ø Kota
Primary Key (kunci utama) adalah candidate key yang telah dipilih
merupakan field yang benar-benar unik dan tidak boleh ada nilai
NULL.
Alternate key adalah candidate key yang tidak terpilih. Misal : dalam
suatu entity terdapat dua field yang bisa dijadikan sebagai kunci.
Sementara yang boleh dijadikan kunci hanya satu, maka anda harus
memilih salah satu. Field yang anda pilih, disebut primary key,
Contoh:
14 | P e r a n c a n g a n B a s i s D a t a
File mahasiswa berisi attribute
Ø Nobp
Ø No KTP
Ø Nama
Ø Tempat lahir
Ø Tanggal lahir
Ø Alamat
Ø Kota
Nobp dan no KTP adalah kunci calon (candidate key) dan untuk
kunci utama (primary key) adalah salah satu yang dipilih dari
foreign key. Foreign key adalah sebuah kumpulan field dalam satu
5. Composite Key
kejadian entitas.
15 | P e r a n c a n g a n B a s i s D a t a
1.1.6 Karakteristik Atribute
penerapannya (level fisik) atribut merupakan field atau kolom dari sebuah tabel.
3. Mandatory attribute
Simple attribute atau atomic attribute adalah attribut terkecil yang tidak dapat
dibagi-bagi lagi menjadi atribut yang lebih kecil. Contohnya adalah atribut
Composite attribute adalah atribut yang dapat dibagi menjadi atribut yang lebih
kecil. Contoh: Atribut Nama pada entitas pegawai dapat dipecah menjadi
Single value attribute adalah suatu atribut yang hanya mempunyai satu nilai.
16 | P e r a n c a n g a n B a s i s D a t a
Misalnya atribut NmDepan pada entitas pegawai. NmDepan seorang pegawai
Multi value attribute adalah atribut yang dapat memiliki lebih dari satu nilai yang
jenisnya sama dari sebuah data tunggal. Misalnya atribut lokasi pada entitas
departemen dapat berisi 2 nilai atau lebih seperti Surabaya atau Jakarta.
Derived attribute atau atribut turunan adalah atribut yang nilai-nilainya diperoleh
dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang
Relasi atau hubungan adalah kejadian atau transaksi yang terjadi di antara dua
tunggal.
Yaitu menunjukan jumlah maksimum entitas yang dapat berelasi dengan entitas
pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan
17 | P e r a n c a n g a n B a s i s D a t a
maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas
yang lain dan begitu juga sebaliknya. Kardinalitas relasi yang terjadi diantara
Satu ke satu (one to one), berarti setiap entitas pada himpunan entitas A
Relationship Diagram)
Diagram).
Simbol-Simbol ERD
18 | P e r a n c a n g a n B a s i s D a t a
Gambar 1 : Simbol-Simbol ERD
entitas.
himpunan relasi
kunci (non-key).
Contoh Kasus 1 :
nomor mahasiswa dan alamat mahasiswa. Setelah itu mereka baru bisa
19 | P e r a n c a n g a n B a s i s D a t a
meminjam buku di perpustakaan. Buku-buku yang dimiliki perpustakaan
jumlahnya banyak. Tiap buku memiliki data nomor buku, judul, pengarang,
penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang.
Tentukan entitas, atribut dan relasi dari deskripsi di atas, dengan menggambar
ERDnya!
Jawab:
20 | P e r a n c a n g a n B a s i s D a t a
EER merupakan konsep lanjutan dari ERD. Pada umumnya, konsep
pada EER tidak banyak dibahas sebelumnya karena konsep ERD sudah
• Subclasses/Superclasses
model data
• Specialization/Generalization
HONORER.
21 | P e r a n c a n g a n B a s i s D a t a
• Aturan Spesialisasi Sebagian
A. Tes Formatif
22 | P e r a n c a n g a n B a s i s D a t a
Suatu perguruan tinggi mempunyai banyak mahasiswa. Setiap
Checback_date, Date_dischargerd!
23 | P e r a n c a n g a n B a s i s D a t a
ii Data
base
Secu
PENDAHULUAN
A. Deskripsi Singkat
checkpointing, integrity, dan encryption. Pada bab ini juga akan dipelajari
database concurrency.
C. Capaian Pembelajaran
24 | P e r a n c a n g a n B a s i s D a t a
Pada bab ini diharapkan mahasiswa mampu :
database
1. Security Database
A. Authorization
• Update data, delete data, insert data (bisa untuk kolom-kolom tertentu)
25 | P e r a n c a n g a n B a s i s D a t a
• Menghasilkan output yang tidak terbatas dari operasi query (user tidak
• Membuat database
B. Views (Subschemas)
View merupakan virtual relation yang tidak secara nyata ada di dalam sebuah
C. Backing Up
D. Journaling
perubahan terhadap database agar dapat merecover secara efektif jika terjadi
kegagalan. Jurnal mungkin akan berisi data : identifikassi dari record,item data
dan update).
E. Checkpointing
Titik temu sinkronisasi antara database dan transaksi log file. Seluruh
kedua.
26 | P e r a n c a n g a n B a s i s D a t a
F. Integrity
G. Encryption
2. Concurrency
mengakses data yang sama dalam waktu yang sama (untuk mengatasi
inconsistency data). Hampir semua DBMS adalah sistem multi user. Sistem
27 | P e r a n c a n g a n B a s i s D a t a
Keterangan :
Transaksi A membaca record r Pada waktu t1,
transaksi B Membaca R Pada T2
Transaksi A memodifikasi record r (berdasarkan nilai pada waktu
t1) pada waktu t3
Transaksi B memodifiikasi record r (berdasarkan nilai pada waktu
t2) Pada waktu T4
Modifikasi dari transaksi A akan hilang karena Transaksi B akan
memodifikasi R tanpa memperhatikan modifikasi dari transaksi A
pd T3
28 | P e r a n c a n g a n B a s i s D a t a
Masalah Analisis yang Tidak Konsisten
Keterangan :
• Transaksi A ; menjumlahkan nilai 1, nilai 2 dan nilai 3
• Transaksi B nilai 1 +10 ; nilai 3 – 10
• Pada waktu t8, transaks A membaca nilai yang salah karena nilai
3 sudah dimodifikasi menjadi 20 ( transaksi B sudah melakukan
commit sebelum transaksi A membaca nilai 3 )
konkurensi, yaitu :
1. Penguncian (Locking)
Locking
ini, setiap data yang sedang diakses oleh pemakai untuk proses update dikunci
hingga proses update selesai (selesai bisa berarti committed atau rolled back)
pada saat data dikunci, pemakai lain tidak diijinkan mengakses data tersebut.
Fungsi kunci (lock) adalah menjaga record tersebut agar tidak dimodifikasi
transaksi lain.
29 | P e r a n c a n g a n B a s i s D a t a
- Kunci X : kunci yang eksklusif.
point). Synchpoint menyatakan akhir dari suatu transaksi dimana basis data
30 | P e r a n c a n g a n B a s i s D a t a
Masalah Kehilangan Modifikasi
31 | P e r a n c a n g a n B a s i s D a t a
- t5 Synchpoint (kunci S
- dilepaskan )
32 | P e r a n c a n g a n B a s i s D a t a
Modifikasi R (kunci t6 -
X) -
Syncpoint (kunci X t7 -
dilepaskan )
t8 Modifikasi R (kunci X)
33 | P e r a n c a n g a n B a s i s D a t a
• Bila B sudah mencapai synchpoint, maka kunci X dilepaskan dan A dapat
meneruskan prosesnya.
34 | P e r a n c a n g a n B a s i s D a t a
TRANSAKSI A WAKTU TRANSAKSI B
Synchpoint nilai 1 T8 -
(kunci S
dilepaskan)
- T9 Modifikasi Nilai 1
40 60
(kunci X)
- -
( kunci X dilepaskan)
(kunci S)
35 | P e r a n c a n g a n B a s i s D a t a
SOAL LATIHAN :
menunggu !
Kunci S
,Kunci S
Kunci S
Modifikasi nilai 3 , T4 -
Kunci X 50 30
Modifikasi Nilai 1, T5 -
Kunci X, 80
90...... Tunggu
36 | P e r a n c a n g a n B a s i s D a t a
- T6 Baca Nilai 2 (40)
kunci S
Kunci S, ......tunggu
iii Data
base
Terdi
PENDAHULUAN
37 | P e r a n c a n g a n B a s i s D a t a
A. Deskripsi Singkat
C. Capaian Pembelajaran
1. Replikasi
38 | P e r a n c a n g a n B a s i s D a t a
Sistem memelihara sejumlah salinan/duplikat tabel-tabel data.
Setiap salinan tersimpan dalam simpul yang berbeda, yang
menghasilkan replikasi data.
2. Fragmentasi
Data dalam tabel dipilah dan disebar ke dalam sejumlah fragmen.
Tiap fragmen disimpan di sejumlah simpul yang berbeda-beda.
Fragmentasi dapat berbentuk fragmentasi horizontal (pemilahan record
data) atau fragmentasi vertikal pemilahan field/atribut data).
Fragmentasi Data
Terdiri dari tiga macam :
Horizontal Fragmentation : masing-masing tuple r diberikan kepada
satu atau lebih fragment. Fragmentasi horizontal dapat didefenisikan
sebagai sebuah seleksi pada relasi r , oleh karena itu sebua predikat Pi
digunakan untuk menyusun fragmentasi ri seperti berikut :
39 | P e r a n c a n g a n B a s i s D a t a
Vertical Fragmentation : skema untuk relasi r dibagi menjadi beberapa
skema yang lebih kecil.
Semua skema harus mengandung sebuah candidate key(atau superkey)
untuk menjamin property lossless join.
Sebuah attribut khusus, misal : attribut tupple-id dapat ditambahkan
terhadap masing-masing skema untuk bertindak sebagai candidate key.
Campuran
Relasi r dibagi-bagi kedalam sejumlah relasi fragmentasi r1,r2,…..,rn,
tiap-tiap fragment diperoleh sebagai hasil baik dari skema fragmentasi
horizontal ataupun vertikal pada relasi r .
Cara yang sederhana untuk membangun fragmentasi campuran sebagai
berikut :
a. Menggunakan fragmentasi horizontal pada fragmentasi vertikal
b. Menggunakan fragmentasi vertikal pada fragmentasi horizontal.
Soal Latihan :
1. Jelaskan keunggulan dan kekurangan antara arsitektur sistem basis
data terdistribusi dengan sistem parallel!
2. Apa yang anda ketahui tentang teknik dan model sinkronisasi dan
replikasi dalam sistem basis data terdistribusi?
3. Jelaskan tentang distributed data storage dan distributed transaction
dalam sistem basis data terdistribusi!
40 | P e r a n c a n g a n B a s i s D a t a
4. Jelaskan yang anda ketahui tentang fragmentasi basis data?
Jelaskan pula latarbelakang dan macam fragmantasi tersebut!
5. Bagaimanakah mekanisme dalam menjaga integritas basis data
terdistribusi ? Jelaskan !
iV Struc
tured
Quer
PENDAHULUAN
A. Deskripsi Singkat
41 | P e r a n c a n g a n B a s i s D a t a
B. Relevansi dan Manfaat
C. Capaian Pembelajaran
SQL
kita dapat :
MySQL, Sybase,dll.
SQL DDL
objek-objek (table, index, view, stored procedure, trigger) yang ada di dalam database.
Jenis perintah dasar yang pertama adalah Data Definition Language atau biasa
42 | P e r a n c a n g a n B a s i s D a t a
paling mendasar dari bahasa SQL. Tujuannya untuk membuat struktur
dalam setidaknya lima jenis perintah yakni bisa kamu lihat di bawah ini.
membuat sebuah database yang baru, baik itu berupa tabel baru atau
struktur tabel yang sebelumnya sudah ada. Bisa jadi dalam hal ini
nama_tabel_lama TO nama_tabel_baru”
Language (DML). Seperti namanya, perintah dasar SQL ini bertujuan untuk
memanipulasi data yang ada dalam sebuah database. Perintah dalam DML
43 | P e r a n c a n g a n B a s i s D a t a
juga terbagi ke dalam empat jenis. Beberapa di antaranya adalah insert, select,
Data yang diambil pun tidak hanya terbatas pada satu jenis saja
Perintah Delete: Perintah DML ini dapat digunakan ketika kamu ingin
Perintah dasar berikutnya adalah Data Control Language atau DCL. Perintah
SQL ini digunakan khususnya untuk mengatur hak apa saja yang dimiliki oleh
pengguna. Baik itu hak terhadap sebuah database ataupun pada tabel maupun
field yang ada. Melalui perintah ini, seorang admin database bisa menjaga
44 | P e r a n c a n g a n B a s i s D a t a
Perintah Grant: Perintah ini biasanya digunakan ketika
pemberian hak akses ini dapat dibatasi atau diatur. Dalam hal ini
di atas.
Fungsi SQL
tersendiri. Bagi seorang admin, adanya SQL dapat memungkinkan kamu untuk
pada database. Fungsi lainnya adalah untuk membuat sebuah prosedur baru
dan ini akan tersimpan dalam sebuah database. Selain itu juga bisa mengatur
45 | P e r a n c a n g a n B a s i s D a t a
2. Database belajar buatlah tabel dengan nama barang dengan
field kode_barang, nama_barang, harga_barang dan total_barang silahkan
tentukan sendiri tipe data dan panjangnya!
3. Masukan data dibawah ini ke tabel barang tersebut!
4. Daftar Pustaka
[1] Rob, Peter and Elie Semaan. 2004. Databases Design Development
and Deployment Using Microsoft Access. Mc.Graw Hill
[2] Nugroho, Adi. 2011. Perancangan dan Implementasi Sistem Basis
Data. Yogyakarta. Penerbit Andi
[3] Indrajani. 2011. Perancangan Basis Data dalam All in 1. Jakarta. Elex
Media Komputindo
46 | P e r a n c a n g a n B a s i s D a t a
47 | P e r a n c a n g a n B a s i s D a t a