A. Pengertian DataBase
Basis Data terdiri atas Basis dan Data.
Definisi Data
• Data adalah fakta mengenai objek, orang, dll.
• Data adalah representasi fakta dunia nyata yang mewakili suatu objek
seperti manusia, barang, hewan, peristiwa, konsep, keadaan dan yang
direkam dalam bentuk angka, huruf, symbol, teks, gambar, bunyi, atau
kombinasinya.
Data dinyatakan dengan nilai (angka, deretan karakter, atau sombol-sombol). Sampai
dengan membentuk suatu database, data mempunyai jenjang : karakter, field, record,
file, database.
Defisini Basis
• Basis berarti gudang, tempat berkumpul sedangkan
Sebagai contoh:
Database : Universitas
Objects: Mahasiswa, Dosen, Mata Kuliah, …
• Pendekatan Database
Pendekatan database mencoba memperbaiki kelemahan-kelemahan yang
terjadi di pendekatan tradisional, yaitu :
q Duplikasi data (data redundancy) dikurangi.
q Hubungan data (data relatability) dapat ditingkatkan.
Jenjang Data
• Characters
• Field
• Record
• File
• Database
B. Operasi dasar basis data
Setiap basis data umumnya dibuat untuk mewakili sebuah semesta data yang spesifik.
Misalnya ada basis data akademik, kepegawaian, inventori dan lain-lain. Sementara dalam
basis data akademik kita dapat menempatkan file mahasiswa, matakuliah, dosen
kehadiran, nilai dan lain-lain.
Karena itu operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data
dapat berupa :
1. Pembuatan basis data baru (create database)
2. Penghapusan basis data (drop database)
3. Pembuatan file/tabel baru ke suatu basis data (create table)
4. Penghapusan file/tabel dari suatu basis data (drop table)
5. Penambahan/pengisian data baru ke sebuah file/tabel (insert)
6. Pengambilan datda dari sebuah file/tabel (retrieve/search)
7. Pengubahan data dari sebuah file/tabel (update )
8. Penghapusan data dari sebuah file/tabel (delete)
Operasi pembuatan basis data dan tabel merupakan operasi awal yang hanya
dilakukan sekali dan berlaku untuk seterusnya. Sedangkan operasi-operasi yang
berkaitan dengan isi tabel (data) merupakan operasi rutin yang akan berlangsung ber-
ulang-ulang dan karena itu operasi-operasi inilah yang lebih tepat untuk aktivitas
pengolahan (management) dan pengolahan (processing) data dalam basis data.
1. User (pengguna)
Pengguna sistem basis data
2. Aplikasi basis data
Program komputer yang digunakan oleh user untuk bekerja.
3. Structured Query Language (SQL)
Bahasa standar (secara internasional) yang dapat digunakan untuk melakukan
query terhadap data pada semua sistem basis data
4. DBMS
Sistem manajemen basis data yang membuat, memproses, dan mengatur basis
data. basis datas.
5. Basis data
Pengguna Database
1. Database Manager
Satu database manager adala satu modul program yang menyediakan interface
antara penyimpanan data low-level dalam database dengan satu aplikasi program dan
query yang diajukan ke sistem
Tugas dan tanggung jawab Database Manager :
• Interaksi dengan manager File
• Intergrity enforcement (Integritas)
• Security Enforcement (keamanan)
• Backup dan recovery
• Concurency Control
2. Database Administrator
Merupakan orang yang mempunyai kekuasaan sebagai pusat pengontrolan terhadap
seluruh sistem baik data maupun program yang mengakses data.
Fungsi database administrator, yaitu :
• Mendefinisikan pola struktur database
• Mendefinisikan struktur penyimpanan dan metode akses
• Mampu memodifikasi pola dan organisasi phisik
• Memberikan kekuasaan pada user untuk mengakses data
• Menspesifikasikan keharusan/paksaan integritas data
3. Database User
Satu tujuan utama dari sistem database adalah menciptakan suasana bagaimana
informasi dibaca dan data baru disimpan dalam database.
Ada 4 macam pemakai database yang berbeda keperluan dan cara aksesnya, yaitu :
§ Programmer Aplikasi
§ User Mahir (Casual User)
§ User Umum (End User/Naïve User)
§ User Khusus (Specialized User)
Gambar Struktur sistem basis data secara keseluruhan (Hub Antara User)
2. Database Application
– Client/Server application
ü Program aplikasi diinstal di client dan terkoneksi dengan database server
ü Dikembangkan dengan Visual Basic, C++, atau Java
– E-commerce
ü Program berjalan pada web server
ü User menggunakannya melalui Web browser (Internet Explorer atau
Firefox)
ü Web server yang sering digunakan: IIS atau Apache
ü Dikembangkan dengan PHP, Java, Microsoft .Net
– Reporting Application
ü Mempublikasikan hasil dari query pada basis data melalui
portal atau web site suatu organisasi atau perusahaan
4. DBMS
• Memproses perintah SQL
• Menyediakan fasilitas untuk membuat, memproses dan mengelola basis data
• Contoh: Microsoft Access, Microsoft SQL Server, Oracle dan DB2
Database application mengambil dan menyimpan data dari basis data
dengan mengirim perintah SQL ke DMBS
Fungsi DBMS
Fungsi dan pelayanan yang disediakan oleh Database Manajemen System, yaitu :
§ Data Storage, Retrieval dan Update
Suatu DBMS harus mentediakan user dengan kemampuan untuk menyimpan,
mengambil dan update data dalam database
§ A User – Accessible Catalog
Suatu DBMS harus menyediakan suatu catalog dimana deskripsi item data yang
disimpan dapat diperoleh user
§ Transaction Support
Suatu DBMS harus menyediakan suatu mekanisme yang akan menjamin semua
update yang menghubungkan ke transsaksi yang diberikan.
§ Concurrency Control Services
Suatu DBMS harus menyediakan mekanisme untuk menjamin bahwa database yang
di update dengan benar oleh beberapa user secara bersamaan
§ Recovery Service
Suatu DBMS mesti menyediakan suatu mekanisme untuk mendapatkan kembali
database dalam suatu kejadian, dimana database dirusak dalam beberapa cara.
• Authorisation Services
Suatu DBMS harus menyediakan suatu mekanisme untuk menjamin bahwa hanya
user yang berhak dapat mengakses database
• Support Data Communication
Suatu DBMS harus mampu mendukung dalam penintegrasian software
comunication
Abtraksi Data
Kegunaan utama sistem database adalah agar pemakai/user meampu
menyusun suatu pandangan abtraksi dari data. Bayangan mengenai data tidak lagi
memperhatikan kondisi sesungguhnya bagaimana satu data masuk ke database,
disimpan dalam disk disektor mana, tetapi menyangkut secara menyeluruh
bagaimana data tersebut dapat di abtraksikan/digambarkan menyerupai kondisi yang
dihadapi oleh pamakai.
Abstraksi data adalah bagaimana melihat data dalam sebuah sistem basis
data. Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas dalam
memperlihatkan data kepada pemakai/user. Untuk itu sistem akan menyembunyikan
detail tentang bagaimana data itu disimpan dan dipelihara. Karena itu seringkali data
yang terlihat oleh pemakai berbeda dengan yang tersimpan secara fisik.
Pandangan Pandangan
2. FILE-SERVER
• File-server is connected to
several workstations across a network.
• Database resides on file-server.
• DBMS and applications run on each
workstation.
Kelemahan File-Server
• Significant network traffic.
• Setiap workstation harus memiliki copy DBMS
• Concurrency, recovery and integrity control more complex.
3. CLIENT-SERVER
• Database dan DBMS terletak pada Server
• Client mengatur sendiri hubungan dengan database, DBMS dan
menjalankannya
Model hirarkis
Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang
dibalik. Model ini menggunakan pola hubungan orang tua-anak. Setiap simpul
(biasanya dinyatakan dengan lingkaran atau kotak) menyatakan sekumpulan medan.
Simpul yang terhubung ke simpul pada level dibawahnya disebut orang tua
sebaliknya simpul yang berada dibawah orang tua disebut anak. Setiap orang tua
dapat memiliki satu (hubungan 1:1) atau beberapa anak (hubungan 1:M), tetapi setiap
anak hanya memiliki satu orang tua. Contoh gambar yang menunjukkan model
hirarkis :
Dosen Dosen
Siti Nurbaya Asrab
Sistem Pendidikan
Basis Data Pascal Agama
Model Jaringan
Model ini menyerupai model hirarkis, dengan perbedaan suatu simpul anak
dapat memiliki lebih dari satu orang tua. Oleh karena sifatnya yang demikian model
ini bisa menyatakan hubungan 1:1 (satu orang tua mempunyai satu anak), atau 1:M
(satu orang tua mempunyai banyak anak), maupun N:M (beberapa anak bisa
mempunyai beberapa orang tua). Contoh gambar yang menunjukkan model jaringan
:
Sistem Pendidikan
Basis Data Pascal Agama
Model Relasional
Didasarkan pada konsep relasi matematik (mathematical relation). Di dalam
relasional data model, data dan relationship di gambarkan seperti tabel yang masing-
masingnya mempunyai sejumlah kolom dengan nama yang unik.
Mahasiswa dan dosen wali
DATABASE TERDISTRIBUSI
Sebuah sistem database terdistribusi berisikan sekumpulan site. Setiap site
dapat berpartisipasi saat mengeksekusi transaksi yang mengakses data di satu site
atau beberapa site.
Bentuk-bentuk topologi distribusi
data
o Fully Connected Network Keuntungan
- Kalau salah satu node rusak
yang lainnya masih dapat
berjalan
Kerugian
- Control manajemen
tidak terjamin
Keuntungan
- Apabila ada satu yang rusak,
yang lain masih bisa berjalan
Kerugian
- Control manajemen kurang
terjamin karena bersifat
desentralisasi
o Star Network
Keuntungan
- Control manajemen lebih terjamin,
karena bersifat sentral dan reliability
rendah
Kerugian
- Kalau node pusat rusak semua akan
rusak
1. Anomali Peremajaan
Anomali ini terjadi bila terjadi perubahan pada sejumlah data yang mubazir,
tetapi tidak seluruhnya diubah. Sebagai contoh, terdapat relasi
PESANAN_BELI yang mengandung data PEMASOK dan KOTA yang
menyatakan lokasi pemasok. BARANG, dan JUMLAH yang menyatakan nama
barang dan jumlah barang yang dipesan.
2. Anomali penyisipan
Anomaly ini terjadi jika pada saat penambahan hendak dilakukan, ternyata ada
elemen data yang masih kosong dan elemen data tersebut justru menjadi kunci.
Sebagai contoh, terdapat relasi yang berisi tiga buah atribut:
- KULIAH
- RUANG
- TEMPAT
Relasi di atas mencatat kursus-kursus yang diikuti oleh siswa (misalnya, siswa
dengan nomor identifikasi 10 mengambil kursus bahasa Inggris, Prancis, dan
Mandarin) selain juga menyatakan biaya kursus (misalanya biaya kursus
Bahasa Inggris adalah sebesar 60.000). masalh akan timbul apabila dibuka
kursus baru , misalnya Bahasa Arab, dengan biaya sebesar 70.000, akan
tetapi untuk sementara belum seorang pun yang mengambil kursus ini.
Akibatnya, data kursus baru itu tidak dapat dicatat!
3. Anomali Penghapusan
Anomaly penghapusan terjadi sekiranya sesuatu baris (tupel) yang tak
terpakai dihapus dan sebagai akibatnya terdapat data lain yan ghilang.
Dengan mengambil contoh relasi KURSUS di depan, apa yang terjadi
seandainya data bahwa siswa dengn identitas 20 yang mengambil kursus
bahasa Jepang di hapus? Data yang menyatakan bahwa biaya kursus bahasa
jepang sebesar 65.000 juga akan terhapus!
Pengertian Normalisasi
Istilah normalisasi berasal dari E.F. Codd, salah seorang perintis teknologi
basis data. Normalisasi memberikan panduan yang sangat membantu bagi
pengembang untuk mencegah penciptaan struktur tabel yang kurang fleksibel atau
mengurangi ketidak efisienan.
Bentuk normal pertama hingga ketiga merupakan bentuk normal yang umum dipakai.
Artinya pada kebanyakan tabel, bila ketiga bentuk normal tersebut telah dipenuhi,
maka pesoalan anomali tidak akan muncul lagi. Bentuk normal Boyce_Codd
merupakan revisi terhadap bentuk normal ketiga. Bentuk normal 4 NF
5 NF
4 NF
BCNF
3 NF
2 NF
1 NF
Tabel Umum
dan 5 NF hanya dipakai pada kasus-kasus khusus, yaitu tabel yang
mengandung dependensi nilai banyak.
Contoh 1:
Dari dokumen berikut ini tentukan UNF, 1 NF, 2 NF dan 3 NF-nya untuk perancangan
database dengan Normalisasi.
Catatan !
Untuk bentuk UNF No. Anggota, Nama, Alamat, dan Tgl. Masuk hanya ditulis satu
kali.
Bentuk 2 NF
Bentuk normal kedua didefinisikan berdasarkan dependensi fungsional.
Dalam ungkapan yang lebih praktis, bentuk normal kedua mensyaratkan setiap
atribut bergantung kepada kunci primer.
Bentuk normal kedua didapat dengan mencari field kunci (primary key) dan
membentuk table berdasarkan primary key tersebut.
Anggota Buku
* No. Anggota *Kode Buku
Nama Judul
Keterangan :
* : Primary Key
** : Foreign Key
Bentuk 3 NF
Pada bentuk normal ke tiga mempunyai syarat setiap table tidak mempunyai
field yang tergantung transitif.
Anggota
No. anggota Buku
Nama Kode Buku
Alamat Judul
Tgl. Masuk Pinjaman
No. Anggota
Kode Buku
Tgl. Pinjam
Tgl. Kembali
Hasil Akhir :
Anggota Buku
No. Anggota Nama Alamat Tgl. Masuk Kode Buku Judul
Entity Relationship Diagram adalah high level conceptual data model yang
dikembangkan oleh Chen (1976) untuk menfasilitasi perancangan database Konsep-
konsep dasar dari Entity Relationship Model mencakup Entity, Relation dan Attributes
B. Attribute
Adalah karakteristik dari entity atau relationship yang menyediakan penjelasan detail
tentang atau relationship tersebut. Attribute value adalah suatu data actual atau informasi
yang disimpan disuatu attribute di dalam suatu entity atau relationship
• Composite Attribute adalah attribute dimana nilainya dapat dibagi kedalam bagian
yang lebih kecil. Contoh, Alamat (Jl. Proklamasi No. 20 Padang Sumatera
Barat). Attribute ini dapat Dibagi kedalam Jalan, Nomor, Kota dan Propinsi.
• Single Valued Attribute adalah attribute yang hanya boleh mengandung satu nilai
tertentu. Contoh, entity kantor cabang mempunyai satu nilai untuk nomor kantor
cabang (Branch_no), misalnya B3.
• Multi Valued Attribute adalah attribute yang boleh mempunyai lebih dari satu nilai.
Sebagai contoh, entity kantor cabang mempunyai banyak nomor telepon (telp_no).
• Derived Attribute adalah sebuah attribute yang nilainya diperoleh dari hasil proses
dua atau lebih attribute yang ada. Contoh, Umur (Age) diperoleh dari Tanggal_lahir
(DOB) – Tanggal Sekarang (Sysdate)
C. Key
• Candidate key
Merupakan kunci kandidat dari bebarapa atribut yang terdapat dalam sebuah
entity. Sebagai contoh: Branch number (branch_no) adalah candidate key
untuk entity type Branch.
Candidate key mestilah mempunyai nilai yang unik untuk setiap occurence dari
sebuah entity type, sebagai contoh tiap-tiap branch mempunyai branch
number yang unik (Sebagai contoh B3), dan tidak ada lebih dari satu branch
dengan branch number yang sama.
• Primary Key
Sebuah type entity dapat mempunyai satu atau lebih candidate key. Satu dari
candidate key dipilih menjadi sebuah primary key.
Sebagai contoh, Staff mempunyai National Insurance Number (NIN) yang unik
dan juga Staff Number. Dalam hal ini mempunyai dua buah candidate key
untuk entity staff, satu daripadanya harus dipilih untuk menjadi primary key.
Contoh lainya yaitu : Company mendefinisikan Staff Number (contoh: SG14)
adalah dalam size yang lebih pendek dibandingkan dengan National Insurance
Number (contoh: WL220658D). Maka, berdasarkan ini, Staff Number menjadi Primary
Key dan National Insurance Number menjadi Alternate Key.
D. Relationship
Adalah hubungan yang terjadi antara satu atau lebih entity. Relationship tidak
mempunyai keberadaan fisik, kecuali yang mewarisi hubungan antara entity
tersebut. Relasionship set adalah kumpulan relationship yang sejenis.
E. Garis
Yang menghubungkan antar objek dalam diagram E-R
Kardinalitas Pemetaan
Kardinalitas pemetaan atau rasio kardinalitas menunjukkan jumlah entity yang
dapat dihubungkan ke satu entity lain dengan suatu relationship sets.
Kardinalitas pemetaan meliputi :
1. Hubungan satu ke satu (one to one).
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam
2. Hubungan satu ke banyak (one to many)
Yaitu satu entity dalam A dihubungkan dengan sejumlah entity dalam B.
Satu entity dalam B dihubungkan dengan maksimum satu entity dalam A.
3. Hubungan banyak ke satu (many to one)
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam
B. Satu entity dalam B dapat dihubungkan dengan sejumlah entity dalam A.
Dibaca: Satu orang mahasiswa (hanya) memiliki satu buah NIM dan satu buah
NIM (hanya) dimiliki oleh satu orang mahasiswa.
2. One to Many (1 to M)
Hubungan antara file pertama dan file kedua adalah satu berbanding banyak
atau banyak berbanding satu.
Contoh:
3. Many to Many (M to N)
Hubungan antara file pertama dan file kedua adalah banyak berbanding
banyak. Contoh:
a. Bila relasi One to One, foreign key ditaruh pada ke-2 file atau dijadikan
satu.
b. Bila relasi One to Many, foreign key ditaruh pada file yang Many.
c. Bila relasi Many to Many, maka dibuat file konektor yang berisi 2 foreign
key dan atribut yang bergantung transitif.
Hasil wawancara: “Di perpustakan ini, ada beberapa buku dengan judul dan
pengarang yang sama, namun demikian masing-masing buku memiliki kode
buku sendiri-sendiri. Seorang mahasiswa boleh meminjam buku lebih dari
satu!”
Mahasiswa Buku
NIM Kd_buku
Di taruh di manakah field yang belum membentuk
Nama Judul
tabel ?
….
….. ….. Lengkapilah tabel yang terbentuk dgn field yg
…… …… diperlukan!
Keterangan:
One to One
One to Many
Many to Many
Dari diagram tersebut, File Pinjam adalah file konektor, yang berisi foreign key
(NIM dan Kd_buku) serta berisi field-field yang bergantung transitif, yaitu
Tgl_pinjam dan Tgl_kembali. Perhatikan area yang berada dalam garis putus-
putus! Area tersebut menggambarkan relasi yang terjadi antar entitas, yang
sebelumnya digambarkan dengan diagram E-R.
Sistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih
user- friendly. Oleh karena itu dikenal SQL sebagai bahasa query yang marketable.
SQL menggunakan kombinasi aljabar relasional & kalkulus relasional. Meskipun SQL
adalah bahasa query, namun SQL mempunyai banyak kemampuan lain disamping
melakukan query terhadap basis data. SQL mempunyai kemampuan untuk
mendefinisikan struktur data, modifikasi data dalam basis data dan menentukan
konstrain sekuriti.
• Embedded DML
Bentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi
guna seperti PL/I, Cobol , Pascal dan Fortran.
• View Definition
DDL SQL memasukkan perintah untuk mendefinisikan view.
• Authorization
DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan
view.
• Integrity
DDL SQL memasukkan perintah untuk menentukan konstrain integritas yang
harus dipenuhi oleh data yang tersimpan dalam basis data.
• Transaction control
SQL memasukkan perintah-perintah untuk menentukan awal dan akhir transaksi.
Beberapa implementasi juga memungkinkan locking data untuk concurrency
control.
b. CREATE TABLE
Berguna untuk membuat table.
CREATE TABLE MAHASISWA(
c. ALTER TABLE
Berguna utnuk mengubah atau menyisipkan ke dalam table
d. DROP TABLE
Berguna untuk menghapus table
Drop Table Mahasiswa ;
a. INSERT
Berguna untuk menyisipkan baris dari suatu table
b. SELECT
Digunakan untuk memilih data dari suatu table atau view
c. DELETE
Berguna untuk menghapus baris dari suatu table
d. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
Contoh Kasus :
1. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
Contoh Kasus :
6. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
h. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
12. Tambahkan Field Kelompok dengan type Text(3) ke dalam table MataKuliah.
13. Masukkan beberapa Record di bawah ini, yaitu :
KdMTK Nama SKS Semester Kelompok
PKMI3101 Agama 3 I MPK
KKMI3211 Kalkulus 3 II MKK
KKMI3501 Teknik Riset Operasional 3 V MKK
KBMI3101 Paket Program Niaga I 3 I MKB
KBMI3201 Paket Program Niaga II 3 II MKB
KBMI3301 Struktur Data 3 III MKB
Kode=’K01’ ;
j. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
NIP=’0002’ ;
l. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
Contoh Kasus :
21. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
n. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
Contoh Kasus :
26. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
27. Tambahkan Field Kelompok dengan type Text(3) ke dalam table MataKuliah.
28. Masukkan beberapa Record di bawah ini, yaitu :
KdMTK Nama SKS Semester Kelompok
PKMI3101 Agama 3 I MPK
KKMI3211 Kalkulus 3 II MKK
KKMI3501 Teknik Riset Operasional 3 V MKK
KBMI3101 Paket Program Niaga I 3 I MKB
KBMI3201 Paket Program Niaga II 3 II MKB
KBMI3301 Struktur Data 3 III MKB
p. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
Contoh Kasus :
31. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
32. Tambahkan Field Kelompok dengan type Text(3) ke dalam table MataKuliah.
33. Masukkan beberapa Record di bawah ini, yaitu :
KdMTK Nama SKS Semester Kelompok
PKMI3101 Agama 3 I MPK
KKMI3211 Kalkulus 3 II MKK
KKMI3501 Teknik Riset Operasional 3 V MKK
KBMI3101 Paket Program Niaga I 3 I MKB
KBMI3201 Paket Program Niaga II 3 II MKB
KBMI3301 Struktur Data 3 III MKB
Contoh Kasus:
36. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
37. Tambahkan Field Kelompok dengan type Text(3) ke dalam table MataKuliah.
38. Masukkan beberapa Record di bawah ini, yaitu :
KdMTK Nama SKS Semester Kelompok
PKMI3101 Agama 3 I MPK
KKMI3211 Kalkulus 3 II MKK
KKMI3501 Teknik Riset Operasional 3 V MKK
KBMI3101 Paket Program Niaga I 3 I MKB
KBMI3201 Paket Program Niaga II 3 II MKB
KBMI3301 Struktur Data 3 III MKB
t. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
v. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
Contoh Kasus :
46. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
x. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
Contoh Kasus :
51. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
52. Tambahkan Field Kelompok dengan type Text(3) ke dalam table MataKuliah.
53. Masukkan beberapa Record di bawah ini, yaitu :
KdMTK Nama SKS Semester Kelompok
PKMI3101 Agama 3 I MPK
KKMI3211 Kalkulus 3 II MKK
KKMI3501 Teknik Riset Operasional 3 V MKK
KBMI3101 Paket Program Niaga I 3 I MKB
KBMI3201 Paket Program Niaga II 3 II MKB
KBMI3301 Struktur Data 3 III MKB
z. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
Contoh Kasus :
56. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
57. Tambahkan Field Kelompok dengan type Text(3) ke dalam table MataKuliah.
58. Masukkan beberapa Record di bawah ini, yaitu :
KdMTK Nama SKS Semester Kelompok
PKMI3101 Agama 3 I MPK
KKMI3211 Kalkulus 3 II MKK
KKMI3501 Teknik Riset Operasional 3 V MKK
KBMI3101 Paket Program Niaga I 3 I MKB
KBMI3201 Paket Program Niaga II 3 II MKB
KBMI3301 Struktur Data 3 III MKB
Contoh Kasus :
61. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field Type Size
KdMTK Text 8
Nama Text 40
SKS Byte 1
Semester Text 5
62. Tambahkan Field Kelompok dengan type Text(3) ke dalam table MataKuliah.
63. Masukkan beberapa Record di bawah ini, yaitu :
KdMTK Nama SKS Semester Kelompok
PKMI3101 Agama 3 I MPK
KKMI3211 Kalkulus 3 II MKK
KKMI3501 Teknik Riset Operasional 3 V MKK
KBMI3101 Paket Program Niaga I 3 I MKB
KBMI3201 Paket Program Niaga II 3 II MKB
KBMI3301 Struktur Data 3 III MKB
dd. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
67. Tambahkan Field Kelompok dengan type Text(3) ke dalam table MataKuliah.
68. Masukkan beberapa Record di bawah ini, yaitu :
KdMTK Nama SKS Semester Kelompok
PKMI3101 Agama 3 I MPK
KKMI3211 Kalkulus 3 II MKK
KKMI3501 Teknik Riset Operasional 3 V MKK
KBMI3101 Paket Program Niaga I 3 I MKB
KBMI3201 Paket Program Niaga II 3 II MKB
KBMI3301 Struktur Data 3 III MKB
Keamanan Database
Ø Data merupakan sumber daya bernilai yang harus di atur dan diawasi secara ketat
bersama dengan sumber daya corporate.
Ø Sebagian atau keseluruhan data corporate mempunyai kepentingan strategis dan
karena itu harus dijaga agar tetap aman dan rahasia.
Ø Database Security merupakan mekanisme yang menjaga database dari
serangan/ancaman yang disengaja maupun tidak sengaja.
Ø Pertimbangan keamanan tidak hanya diaplikasikan pada data yang ada dalam
database. Pelanggaran terhadap keamanan dapat mempengaruhi bagian lain dari
sistem, yang akan memberi akibat balik terhadap database.
Ø Keamanan database terkait dengan keadaan berikut :
• Pencurian dan penipuan (theft and fraud)
• Kehilangan kerahasiaan (Loss of confidentiality)
• Kehilangan keleluasaan pribadi (Loss of privacy)
• Kehilangan integritas (Loss of integrity)
• Kehilangan ketersediaan (Loss of availability)
Ø Ancaman (threat) adalah segala situasi atau kejadian, baik disengaja maupun
tidak disengaja yang dapat menimbulkan efek merugikan terhadap system dan
berikutnya organisasi .
• Authorization (Otorisasi)
Pemberian hak atau wewenang, yang menyebabkan subjek memiliki legitimasi
untuk mengakses system atau objek-objek dalam system.
• Authentication (Pembuktian keaslian)
Suatu mekanisme yang menentukan apakah user yang mengakses benar-
benar user yang dimaksud.
• View
Merupakan hasil dinamis dari satu atau lebih operasi relasional yang
dioperasikan pada relasi/table dasar untuk menghasilkan relasi/table lainnya.
View merupakan relasi/table virtual yang tidak benar-benar ada dalam database,
tetapi dihasilkan berdasarkan permintaan oleh user tertentu pada saat tertentu.
• Back Up
Suatu proses yang secara periodik mengambil salinan database dan log file
(dapat juga berupa program) untuk disimpan pada media penyimpanan offline.
• Journaling
Suatu proses pemeliharaan dan penyimpanan log file (jurnal) dari semua
perubahan yang dilakukan terhadap database untuk kemudahan recovery bila
terjadi kerusakan (failure).
• Integrity
Mencegah data dari ketidaksesuaian (invalid) dan mengakibatkan pemberian
hasil yang salah.
• Encryption
Checkpointing
Checkpoint adalah titik dari penyelarasan (synchronization) antara database
dan log file. Checkpoint dijadwalkan saat penetapan sebelum interval dan
menyertakan operasi berikut:
• Menuliskan seluruh record log dalam main memory kedalam
penyimpanan sekunder.
• Menuliskan blok perubahan dalam buffer database ke penyimpanan
sekunder.
• Menuliskan record checkpoint kedalam log file. record ini berisikan
identifier dari seluruh transaksi aktif pada saat checkpoint.
Teknik Recovery
Jika database mengalami kerusakan seperti :
• Jika database mengalami kerusakan secara luas, misalnya kerusakan disk
head dan kerusakan database, maka perlu dikembalikan ke back-
up/salinan terakhir dari database dan diaplikasikan ulang operasi update
dari transaksi yang committed dengan menggunakan log file.
• Jika database hanya mengalami ketidak-konsistenan (inconsistent), maka
harus melakukan undo perubahan-perubahan yang menyebabkan tidak
konsisten. Juga perlu melakukan redo terhadap beberapa transaksi untuk
menjamin perubahan yang dilakukan telah disimpan ke penyimpanan
sekunder. Tidak memerlukan
Dari dua contoh kasus diatas, maka terdapat tiga teknik recovery :
Ø Deferred Update
Ø Immediate Update
Ø Shadow Paging
Deferred Update
Dengan menggunakan protocol recovery deferred update, update tidak
dituliskan kedalam database sampai dengan transaksi mencapai titik commit. Jika
transaksi gagal sebelum commit, maka update tersebut tidak akan merubah
database dan tidak perlu melakukan undo perubahan. Tetapi mungkin perlu
melakukan redo update dari transaksi yang committed sebagai akibat tidak mencapai
Immediate Update
Dengan menggunakan protocol recovery immediate update, Update di
aplikasikan pada data base ketika dijalankan tanpa harus menunggu titik commit.
Perlu melakukan redo update dari transaksi committed jika terjadi kesalahan, menjadi
penting untuk mengulang (undo) akibat dari transaksi yang belum committed pada
saat terjadi kesalahan. Dalam kasus ini digunakan log file untuk perlindungan
terhadap kesalahan sistem dengan cara:
Ø Jika transaksi dimulai, tuliskan record transaction start pada log file.
Ø Ketika operasi penulisan dilaksanakan, tuliskan record berisikan data-data
yang dianggap perlu kedalam log file.
Ø Ketika log file sudah ditulis, tuliskan update pada buffer database.
Ø Update terhadap database itu sendiri dilakukan ketika buffer dikirimkan
kemudian ke penyimpanan sekunder.
Ø Ketika transaksi commit, tuliskan record transaction commit di log file.
Pada dasarnya record log dituliskan sebelum penulisan yang sesuai pada
database, dikenal dengan Write-ahead log protocol. Jika tidak terdapat record
“transaction commit” dalam log, kemudian transaksi tersebut aktif pada saat terjadi
kesalahan daka harus digagalkan.
Jika transaksi gagal, log dapat digunakan untuk melakukan undo
(melaksanakan in reverse order) dimana telah dituliskan dalam log file.
Shadow Paging
Mengatur/memelihara dua table selama transaksi berlangsung yaitu : tabel current
page dan shadow page. Ketika transaksi dimulai, kedua tabel tersebut sama. tabel
shadow page tidak akan diubah sesudah itu dan digunakan untuk mengembalikan
database pada saat terjadi kesalahan. Selama transaksi berlangsung tabel current
page digunakan untuk mencatat seluruh update terhadap database. Ketika transakti
selesai, tabel current page menjadi tabel shadow page.