Basis Data
01
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari pengenalan Mahasiswa mampu menjelaskan konsep
basis data. basis data, mampu menjelaskan
komponen dalam basis data,mampu
menyebutkan dan menjelaskan
keuntungan dan kelebihan penggunaan
basis data.
Kerangkapan data – data yang sama disimpan di berbagai tempat penyimpanan yang
berbeda sehingga organisasi memiliki banyak data yang rangkap.
Data Updating – perubahan terhadap data harus dilakukan berulang kali mengingat data
yang sama terdapat di berbagai tempat penyimpanan.
Currency of Information – memiliki potensi masalah jika gagal untuk memperbarui data
pada semua file yang terpengaruh.
2. Konsistensi Data
3. Dapat memperoleh lebih banyak informasi dari data yang sama. Pengguna basis data dapat
memeperoleh informasi selain dari informasi rutin yang dikelolanya karena semua data lain
berada dalam basis data yang sama. Dengan demikian kebutuhan akan informasi selain dari
informasi rutin dapat terpenuhi.
7. Economy of scale
Dengan menggabungkan semua data operasional organisasi ke dalam satu basis data dengan
aplikasi yang dibutuhkan dapat menghasilkan penghematan biaya. Anggaran yang biasanya
dialokasikan ke setiap departemen untuk pengembangan dan pemeliharaan dari sistem file
mereka dapat digabung sehingga menurunkan total biaya dan menciptakan economy of scale.
1. Tujuan dari basis data adalah untuk membantu manusia agar dapat melacak segala sesuatu
yang dianggap penting.
2. Data disimpan pada tabel. Tabel terdiri dari baris dan kolom seperti yang terlihat
pada spreadsheet. Basis data memiliki beberapa tabel, dimana setiap tabel menyimpan data
tentang suatu hal yang berbeda.
3. Setiap baris dalam suatu tabel menyimpan data dari instance yang berbeda. Misalnya pada
tabel MAHASISWA:
4. Setiap kolom dalam suatu tabel menyimpan karakteristik dari suatu instance tersebut.
Misalnya pada tabel MAHASISWA:
5. Basis data menyimpan data dan relasi. Basis data hanya terdiri dari data
tentang mahasiswa, mata kuliah, dosen, dan nilai. Tetapi juga terdapat
relasi(relationship) antara baris-baris pada tabel-tabel di dalam basis data tersebut.
MAHASISWA
NPM NamaMhsw Jurusan NoTelpon
07001 Husni Cook Manajemen 08115577869
07002 Roni Parto Akuntansi 08129992223
07003 Dono Pardede Akuntansi 02178908764
07004 Dora Nakula Sistem Informasi 02517778886
07005 Santi Arlisa Sistem Informasi 08171414325
NILAI
NPM KodeMatKul Semester Tahun Nilai
07001 AKT100 Ganjil 2006 A
07001 TSI200 Ganjil 2006 B
07003 AKT100 Ganjil 2006 B
07003 TSI200 Ganjil 2006 C
07005 TSI240 Genap 2006 A
07005 AKT200 Genap 2006 C
07005 TSI300 Genap 2006 C
MATAKULIAH
DOSEN
KodeDosen NamaDosen NoTelpon
D101 Randy Martin 0217899666
D220 Dona Sanjaya 0812998877
D224 Paula Mahdi 0811772233
D315 Susi Abdul 0817223344
D421 Rully Rodolaly 0212345779
Konvensi Penamaan
– Nama tabel ditulis dengan huruf besar semua, misalnya MAHASISWA
– Nama kolom ditulis dengan huruf awal huruf besar, dan jika diperlukan lebih dari 1 kata
maka huruf awal kata berikutnya dimulai dengan huruf besar.
Misalnya KodeDosen, NamaDosen, Nilai.
Saat ini basis data yang banyak digunakan adalah model basis data relasional. Model ini
diperkenalkan oleh E.F. Codd pada tahun 1970, menggunakan matematika yang dikenal sebagai
aljabar relasional. Saat ini model relasional digunakan sebagai model standar untuk basis
data komersial.
• Atribut
Adalah karakteristik dari suatu entitas. Contoh: atribut dari pelanggan adalah nomor
pelanggan, nama pelanggan, alamat, no telpon.
• Relasi
Relasi adalah tabel dua dimensi yang memiliki karakteristik sebagai berikut:
Barisnya merupakan data tentang suatu entitas
Kolom-kolomnya terdiri dari data tentang atribut sebuah entitas
Semua data pada kolom yang sama memiliki jenis yang sama
Setiap kolom mempunyai nama yang unik
Sel dari suatu tabel menyimpan 1 nilai
Urutan kolom tidak penting
Urutan baris tidak penting
Dua baris tidak mungkin identik (tidak ada duplikasi)
Tidak semua tabel dapat dikatakan sebagai relasi. Ada tabel-tabel yang bukan sebuah relasi.
MAHASISWA
MAHASISWA
• Determinant
Pada ketergantungan fungsional NPM NamaMahasiswa; atribut di sebelah
kiri ketergantungan fungsional disebut sebagai determinant. Suatu determinant disebut unik
jika dan hanya jika menentukan setiap kolom lain dalam suatu relasi.
Suatu determinan dapat disebut sebagai composite determinant jika determinant dari suatu
ketergantungan fungsional terdiri dari lebih dari satu atribut. Contoh:
• Candidate key
Key adalah kombinasi dari satu atau lebih kolom yang digunakan untuk mengidentifikasi
baris-baris dalam suatu relasi. Candidate Key adalah key yang menentukan semua kolom
lain dalam suatu relasi. Pada tabel MATAKULIAH, NamaMatkul adalah Candidate Key.
• Composite key
adalah key yang terdiri dari dua atau lebih kolom.
• Primary key
• Surrogate key
adalah kolom yang ditambahkan pada suatu tabel untuk bertindak sebagai primary key.
DBMS akan membuat nilai kolom tersebut unik secara otomatis pada saat baris data pada
tabel tersebut dibuat.
Contoh:
RENTAL_PROPERTY (Street, City, State/Province, Zip/PostalCode, Country,
Rental_Rate)
RENTAL_PROPERTY(PropertyID, Street, City, State/Province, Zip/PostalCode,
Country, Rental_Rate)
• Foreign key
adalah kolom atau komposite kolom dimana kolom tersebut merupakan primary key pada
tabel lain (yang menjadi referensi).
Contoh:
DOSEN(KodeDosen, NamaDosen, NoTelpon)
MATAKULIAH(KodeMatKul, NamaMatKul, KodeDosen)
MATAKULIAH
KodeMatKul NamaMatKul KodeDosen
TSI200 Sistem Informasi Manajemen D101
TSI240 SMBD D220
TSI300 Jaringan Komputer D224
AKT100 Dasar-dasar Akuntansi D315
AKT200 Manajemen Keuangan D315
DOSEN
KodeDosen NamaDosen NoTelpon
D101 Randy Martin 0217899666
D220 Dona Sanjaya 0812998877
• Normal form
Tabel-tabel pada basis data harus memenuhi aturan normalisasi, yaitu bebas dari
ketergantungan struktural atau anomali yang disebabkan oleh modifikasi data. Anomali ini
disebut modification anomalies. Modification Anomalies terdiri dari:
Deletion anomaly
Misalkan kita menghapus data dengan RepairNumber 2100. Data yang terhapus bukan
hanya data tentang repair, tetapi data tentang mesin juga akan terhapus (informasi
tentang mesin Lathe dengan AcuisitionPrice 4750 akan hilang).
Dari kasus di atas, ketika kita menghapus satu baris pada tabel tersebut, kita akan
kehilangan 2 fakta sekaligus (machine dan repair) karena struktur tabel tersebut
memaksa demikian. Kondisi tersebut dinamakan deletion anomaly.
Insertion anomaly
Pada tabel EQUIPMENT_REPAIR, misalkan kita ingin memasukan data repair. Untuk
memasukan data tersebut selain diperlukan:
Data Repair, yaitu: RepairNumber, RepairDate, dan RepairAmount.
Juga perlu data Machine, yaitu: ItemNumber, Type, dan AcquisitionCost.
Artinya ketika kita hanya perlu memasukan data tentang satu entity (repair), kita
diharuskan memasukan data tentang entity lain (machine) karena kondisi struktur tabelnya
mengharuskan demikian. Kondisi ini dinamakan insertion anomaly
Update anomaly.
Pada tabel EQUIPMENT_REPAIR, misalkan kita akan mengubah data (update). Misalkan
kita akan mengubah data baris terakhir menjadi:
Terlihat bahwa “Drill Press” memiliki dua nilai AcquisitionCost yang berbeda. Sehingga
terjadi data inconsistency. Kondisi demikian dinamakan update anomaly
Bentuk normal terdiri dari: 1NF, 2NF, 3NF, BCNF, dan DK/NF (akan dipelajari lebih lanjut
pada pertemuan berikutnya).
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
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
5. Basis data
merupakan koleksi dari tabel-tabel yang terintegrasi
Daftar Pustaka
1. Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.
Basis Data
02
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari lingkup basis Mahasiswa mampu menjelaskan
data. perbedaan arsitektur 3 level basis data,
mampu mengidentifikasi komponen
perangkat lunak dari DBMS dan
menjelaskan fungsinya.
Kompetensi
Setelah mempelajari materi pokok bahasan disini, mahasiswa diharapkan:
a. Mampu menjelaskan kembali perbedaan arsitektur 3 level basis data.
b. Mampu menjelaskan perbedaan klasifikasi dalam model data.
c. Mampu mengidentifikasi komponen perangkat lunak dari DBMS dan menjelaskan
fungsinya.
d. Mampu mengerjakan mengerjakan kasus-kasus yang terkait dengan materi lingkup basis
data.
Basis data adalah sumber data yang digunakan secara bersama oleh seluruh pengguna dalam
organisasi. Setiap pengguna yang berasal dari fungsi yang berbeda dalam suatu organisasi akan
membutuhkan data yang berbeda untuk diguanakan dalam mengerjakan tugasnya sehari-hari.
Sehingga view (pandangan) terhadap data untuk setiap pengguna berbeda. Untuk memenuhi hal
Adapun ke-tiga level arsitektur basis data ANSI PARC tersebut adalah:
1. Level Internal
Level internal merupakan representasi fisik dari basis data pada komputer. Level ini
menggambarkan bagaimana data disimpan secara fisik pada basis data dan meliputi
implementasi fisik dari database untuk mencapai kinerja run time dan penggunaan ruang
penyimpanan yang optimal. Record disimpan dalam media penyimpanan dalam format byte.
Beberapa hal yang diperhatikan dalam level internal ini antara lain:
Alokasi ruang penyimpanan data dan indeks
Deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk elemen data)
Penempatan record
Pemampatan data dan teknik enkripsi data
Di bawah level internal terdapat level fisik yang dikelola oleh sistem operasi di bawah
pengarahan DBMS. Akan tetapi fungsi DBMS dan sistem operasi pada level fisik tidak jelas
dan bervariasi dari sistem yang satu ke sistem yang lain. Beberapa manfaat yang diambil
DBMS dari sistem operasi adalah metode akses.
2. Level Eksternal
Merupakan cara pandang pengguna terhadap basis data. Pengguna adalah programmer,
end user atau DBA. Level eksternal menggambarkan bagian basis data yang relevan bagi
seorang pengguna tertentu. Level eksternal terdiri dari sejumlah pandangan (view) yang
berbeda dari sebuah basis data. Masing-masing pengguna merepresentasikan dalam bentuk
yang sudah dikenalnya. Cara pandang secara eksternal hanya terbatas pada entitas, atribut
dan hubungan antar entitas (relationship) yang diperlukan saja.
3. Level Konseptual
Level konseptual merupakan pandangan komunitas terhadap basis data. Pada tingkat ini
digambarkan data apa yang disimpan dalam basis data dan hubungan antar datanya. Level
konseptual ini menyajikan:
Semua entitas dengan atribut-atribut dan relasinya.
Level ini mendukung setiap pandangan eksternal, yaitu setiap data apapun yang tersedia
untuk pengguna harus terkandung dalam atau berasal dari level konseptual. Deskripsi data dari
entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut tanpa memperhatikan besarnya
penyimpanan dalam ukuran byte.
Pada level terendah dari abstraksi, kita mempunyai internal schema. Internal schema
merupakan deskripsi lengkap dari model internal, yang berisi definisi dari record yang
disimpan, metoda representasi, data field, skema index dan skema hashing yang digunakan.
Dan hanya ada satu internal schema.
Mapping
DBMS bertanggung jawab untuk memetakan ketiga jenis schema tersebut. Conceptual
schema direlasikan ke internal schema melalui conceptual /internal mapping. Hal ini
memungkinkan DBMS untuk menemukan record aktual atau kombinasi record dalam
penyimpanan fisik yang menggantikan record logik pada conceptual schema bersama-sama
dengan batasan-batasan yang dilakukan pada operasi untuk record logik tersebut. Setiap
external schema direlasikan ke skema konseptual oleh external / conceptual mapping. Hal ini
memungkinkan DBMS untuk memetakan nama dalam pandangan pemakai ke
dalam bagian yang relevan dari conceptual schema.
Contoh dari level yang berbeda dapat dilihat pada gambar 2.2 di bawah ini. Terdapat 2
eksternal view, yaitu view yang pertama terdiri dari NPM, Nama, TglLahir, Alamat, dan view yang
kedua terdiri dari NPM, Nama, Prodi. Kedua view ini digabung menjadi satu conceptual
struct MHS {
int NPM;
char Nama [25];
struct date Date_of_Birth;
Internal level
char Alamat [30]
struct MHS *next; /* pointer ke record MHS
berikutnya
};
/* mendefinisikan
index NoBP; index ProgStudi
indexuntuk MHS
Instance
Database schema adalah deskripsi dari database. Ini ditentukan selama proses perancangan
database diharapkan tidak sering berubah. Tetapi data aktual pada database bisa sering
berubahkarena proses insert atau update. Data pada database pada titik tertentu pada waktu
tertentu disebut dengan database instance.
Conceptual
schema
Conceptual/internal Physical data independence
mapping
Internal
schema
Model hubungan entitas mucul sebagai teknik utama untuk perancangan database konseptual.
Model ini menjelaskan hubungan anatar data berdasarkan persepsi dunia nyata terdiri dari obyek-
obyek yang mempunyai relasi antar obyek tersebut.
Model data semantik menyatakan hubungan antar obyek (dalam kata-kata). Contohnya seperti
gambar berikut ini.
Berikut ini adalah penjelasan dari 3 jenis model data logik berbasis record tersebut.
1. Model Database Jaringan (Network Database Model)
MAHASISWA
NPM NamaMhsw Jurusan NoTelpon
07001 Husni Cook Manajemen 08115577869
07002 Roni Parto Akuntansi 08129992223
07003 Dono Pardede Akuntansi 02178908764
07004 Dora Nakula Sistem Informasi 02517778886
07005 Santi Arlisa Sistem Informasi 08171414325
NILAI
NPM KodeMatKul Semester Tahun Nilai
07001 AKT100 Ganjil 2006 A
07001 TSI200 Ganjil 2006 B
07003 AKT100 Ganjil 2006 B
07003 TSI200 Ganjil 2006 C
07005 TSI240 Genap 2006 A
07005 AKT200 Genap 2006 C
07005 TSI300 Genap 2006 C
4. Query Optimizer. Modul ini menentukan strategi optimal untuk eksekusi query.
5. Transaction manager. Modul ini melakukan pengolahan operasi yang diminta yang
diterima dari transaksi.
6. Scheduler. Modul ini bertanggung jawab untuk memastikan konkurensi operasi pada
database yang diminta tanpa bertentangan satu sama lain. Scheduler mengendalikan
urutan relatifterhadap eksekusi dari operasi transaksi.
7. Recovery manager. Modul ini memastikan database tetap konsisten pada saat terjadi
kegagalan. Recovery manager bertanggung jawab untuk menjalankan transaksi atau
menggagalkan transaksi.
8. Buffer manager. Modul ini bertanggung jawab untuk mentransfer data antara memory
utama dengan tempat penyimpanan sekunder, seperti disk dan tape. Recovery manager
dan buffer manager disebut sebagai data manager.
Basis Data
03
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari model relasional Mahasiswa mampu menjelaskan struktur
basis data. data relasional, mampu menyebutkan
dan menjelaskan kunci
relasional,mampu mengidentifikasi
komponen perangkat lunak dari DBMS
dan menjelaskan fungsinya.
MHS
NPM Nama Alamat
10296832 Nurhayati Jakarta
10296126 Astuti Jakarta
31296500 Budi Depok
41296525 Prananingrum Bogor
50096487 Pipit Bekasi
21196353 Quraish Bogor
MKUL
KDMK MTKULIAH SKS
KK021 P. Basis Data 2
KD132 SIM 3
KU122 Pancasila 2
NILAI
NPM KDMK MID FINAL
10296832 KK021 60 75
10296126 KD132 70 90
31296500 KK021 55 40
41296525 KU122 90 80
21196353 KU122 75 75
50095487 KD132 80 0
10296832 KD132 40 30
- dBase III+
- MS.Access
- Borland-Paradox
- Oracle
- DB2
- SYBASE
- Informix.
Dari karakteristik di atas, kita bisa menetapkan struktur data tabel MKUL:
- nama kolom/field.
- Tipe data.
Atribut:
Kolom pada sebuah relasi (field).
Tupel
Baris pada sebuah relasi (record).
Domain
Kumpulan nilai yang valid untuk satu atau lebih atribut
Derajat (degree)
Jumlah atribut dalam sebuah relasi (jumlah field)
Cardinality
Jumlah tupel dalam sebuah relasi (jumlah record)
atribut
MHS
NPM Nama Alamat
10296832 Nurhayati Jakarta Bari
10296126 Astuti
Cardinality Jakarta
2015 Basis Data Pusat Bahan Ajar dan eLearning
4 Tim Dosen http://www.mercubuana.ac.id
31296500 Budi Depok
41296525 Prananingrum Bogor
50096487 Pipit Bekasi
21196353 Quraish Bogor
Domain
Derajat (degree)
E. Relational Key
Super key
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)
Primary key
Maka, primary key yang dipilih adalah NPM (unik, tidak ada NPM yang sama).
Alternate key
Foreign key
Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi
tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa
MHS
NPM Nama Alamat
10296832 Nurhayati Jakarta
10296126 Astuti Jakarta
31296500 Budi Depok
41296525 Prananingrum Bogor
50096487 Pipit Bekasi
21196353 Quraish Bogor
2. Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.
3. Referential Integrity
Terbagi 2 :
Contoh:
Aljabar Relasional , yaitu dimana query diekspresikan dengan cara menerapkan
operator tertentu terhadap suatu tabel / relasi.
Contoh:
Kalkulus Relasional, dimana query menjelaskan set tuple yang diinginkan
dengan cara menjelaskan predikat tuple yang diharapkan.
Terbagi 2 :
1. Kalkulus Relasional Tupel
2. Kalkulus Relasional Domain
Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program
aplikasi agar pemakai lebih mudah menggunakannya (user friendly).
Contoh :
QUEL
QBE
Berbasis pada bahasa kalkulus relasional
SQL
Berbasis pada bahasa kalkulus relasional dan aljabar relasional
Daftar Pustaka
5. Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.
Basis Data
04
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari SQL Data Mahasiswa mampu menulis perintah
manipulation language query single SQL select dengan menggunakan
table. klausa where,order by untuk melakukan
pengurutan, group by untuk
mengelompokkan hasil query,
menggunakan fungsi agregat.
SQL dapat diterapkan pada beberapa software diantaranya adalah : Dbase IV, Informix, AS-400,
Access .
Jenis SQL ada 2 macam :
1. Interactive : langsung dapat dioperasikan.
2. Embedded : disisipkan ke dalam sebuah program (Cobol, C, Fortran ).
DATABASE
TABLE
*CREATE *DROP
INDEX
VIEW
*ALTER TABLE
3. Data Access
GRANT, REVOKE
4. Data Integrity
5. Auxiliary
UNLOAD, LOAD, RENAME COLUMN
C. Kasus DDL
Pembuatan Database
Pembuatan Tabel
Contoh :
Struktur database
Membuat table
Pembuatan Index
Sintaks :
CREATE [UNIQUE] INDEX nama_index
ON nama_tabel (nama_kolom);
Contoh:
Hasil :
MHSIN
Pembuatan View
Contoh:
Contoh :
1). Tambahkan kolom JKEL pada tabel MHS
ALTER TABLE MHS ADD(JKEL char(1));
Hasil :
MHS
NPM NAMA ALAMAT JKEL
10296832
Nurhayati Jakarta
10296126 Jakarta
Astuti
31296500 Depok
Budi
41296525 Bogor
Prananingrum
50096487 Bekasi
Pipit
Contoh Data
MHS
NPM NAMA ALAMAT
10296832
Nurhayati Jakarta
10296126 Jakarta
Astuti
31296500 Depok
Budi
41296525 Bogor
Prananingrum
50096487 Bekasi
Pipit
21196353 Bogor
Quraish
NILAI
10296832 KK021 60 75
10296126 KD132 70 90
31296500 KK021 55 40
41296525 KU122 90 80
21196353 KU122 75 75
50095487 KD132 80 0
10296832 KD132 40 30
Daftar Pustaka
7. Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical approach to Design, Implementation, and Management, Addison Wesley
Company, 1996.
Basis Data
05
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari SQL Data Mahasiswa mampu menulis perintah
manipulation language query multi SQL select dengan subqueri dan join
table. table dan menggunakan klausa union,
intersect dan except dalam queri,
mampu melakukan pengubahan data
dalam tabel basis data dengan
menggunakan perintah insert, update
dan delete.
INSERT
Sintaks : INSERT INTO
UPDATE
Sintaks : UPDATE nama_tabel
MHS
DELETE
Sintaks : DELETE FROM nama_tabel
WHERE kondisi
Contoh :
NILAI
NPM KDMK MID FINAL
10296126 KD132 70 90
SELECT
Sintaks : SELECT [DISTINCT] nama_kolom
FROM nama_tabel
[ WHERE kondisi ]
[ GROUP BY nama_kolom ]
[ HAVING kondisi ]
[ ORDER BY nama_kolom [ASD/DESC]]
Hasil :
10296126 Jakarta
Astuti
31296500 Depok
Budi
41296525 Bogor
Prananingrum
50096487 Bekasi
Pipit
21196353 Bogor
Quraish
Hasil :
Prananingrum
Pipit
Hasil :
MHS
NPM NAMA ALAMAT
21196353 Bogor
Quraish
50096487 Bekasi
Pipit
10296832
Nurhayati Jakarta
31296500 Depok
Budi
10296126 Jakarta
Astuti
Hasil : 40 120
NILAI
KDMK FINAL
KD132 90
KD132 0
Daftar Pustaka
9. Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.
Basis Data
06
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari SQL Data Mahasiswa mampu mengidentifikasi tipe
definition language pernyataan create & data dalam SQL dengan
alter. menggunakannya dalam mendefinisikan
struktur tabel.
Hasil :
MHS
NAMA
Nurhayati
Budi
Quraish
b. JOIN :
SELECT NAMA FROM MHS, NILAI, MKUL
WHERE MKUL.MTKULIAH=”SIM” AND
NILAI.KDMK = MKUL.KDMK AND
MHS.NPM = NILAI.NPM;
Astuti
Prananingrum
Pipit
Quraish
GRANT SELECT(FINAL)
ON NILAI TO AVI;
REVOKE
Sintaks : - REVOKE hak_akses ON nama_db
FROM nama_pemakai;
UNLOAD TO “/home/avi/teks”
DELIMITER “|” SELECT * FROM MHS;
LOAD
Sintaks : LOAD FROM “nama_path”
DELIMITER “char_pemisah”
INSERT INTO
nama_tabel [nama_kolom];
RENAME
Sintaks : RENAME COLUMN nama_kolom_lama
TO Nama_kolom_baru;
Daftar Pustaka
11.Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.
Basis Data
7
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari SQL Data Mahasiswa mampu menjelaskan
definition language pernyataan view. penggunaan dari view, mampu
mengidentifikasi dan menyebutkan
keuntungan dan kerugian dari
penggunaan view serta mampu
membuat dan menghapus view dengan
perintah sql
B. Fungsi Perhitungan
COUNT : jumlah baris dan kolom
Untuk SUM dan AVG nilainya harus numerik (INT, SMALLINT, FLOAT). Fungsi-fungsi tsb
jika dikenakan pada nilai yang NULL maka nilainya akan diabaikan kecuali untuk COUNT(*)
atau
2. Menampilkan nomor part dan total kuantitas pengiriman dari setiap part
GROUP BY Pn
GROUP BY P3
1. GRANT
Contoh :
2. REVOKE
Fungsi : digunakan untuk mencabut izin akses kepada user
Contoh :
REVOKE INSERT, UPDATE, DELETE ON CLUB FROM USER01
Daftar Pustaka
13.Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.
Basis Data
09
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari pemodelan Mahasiswa mampu menjelaskan konsep
entitas relasi. dasar tentang model entitas dan
hubungannya beserta atribut yang
terdapat dalam entitas
NIM
Nama_Mhs Alamat_Mhs Tgl_Lahir
NIM
Nama_Mhs Alamat_Mhs Tgl_Lahir
Kode_Kul
Nama_Kul … …
Struktur Data … …
IF-110
MA-115 Matematika 1 … …
Untuk memudahkan, kita sebut saja masing-masing entitas sesuai dengan nilai
dari atribut Nama-nya (jadi pada himpunan entitas Mahasiswa, ada entitas 'Ali
Akbar', entitas 'Budi Haryanto', entitas 'Iman Faisal' dan entitas 'Indah Susanti'
dan pada himpunan entitas Kuliah, ada entitas 'Struktur Data', entitas 'Basis
Data', entitas 'Bahasa Indonesia' dan entitas 'Matematikal'). :
Kardinalitas Relasi Satu ke Banyak dan Banyak ke Satu dapat dianggap sama,
karena tinjauan Kardinalitas Relasi selalu dilihat dari dua sisi (dari himpunan
entitas A ke himpunan entitas B dan dari himpunan entitas B ke himpunan entitas
A). Jadi kalau penggambaran pada contoh Kardinalitas Relasi Banyak ke Satu, di
mana himpunan entitas A kita tempatkan di sebelah kanan dan himpunan entitas
B kita tempatkan di sebelah kiri (dan hal ini boleh-boleh saja dilakukan), maka
Kardinalitas Relasinya menjadi Satu ke Banyak.
Keterangan
Diagram
3. Relasi banyak-banyak(many-to-many)
Misal:
: Adanya relasi antara himpunan entitas Mahasiswa dengan himpunan
entitas Kuliah. Himpunan relasinya kita beri nama 'Mempelajari'. Pada
relasi ini, setiap mahasiswa dapat mempelajari lebih dari satu mata kuliah.
Demikian juga sebaliknya, setiap mata kuliah dapat dipelajari oleh lebih
dari satu orang mahasiswa. Maka penggambarannya adalah
Daftar Pustaka
15.Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.
Basis Data
10
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari Entity Mahasiswa mampu menggambarkan
Relationship Diagram. model hubungan entitas dalam sebuah
diagram ERD.
Entity
Entity adalah obyek yang dapat dibedakan dalam dunia nyata
Entity set adalah kumpulan dari entity yang sejenis
Entity set dapat berupa :
Relationship
Relationship adalah hubungan yang terjadi antara satu atau lebih entity.
Relationship set adalah kumpulan relationship yang sejenis.
Atribut
Atribut adalah karakteristik dari entity atau relationship, yang
menyediakan penjelasan detail tentang entity atau relationship tersebut.
Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada
suatu atribut di dalam suatu entity atau relationship.
Jenis-jenis atribut :
Key
PEGAWAI
Atribut Composite
Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti
tertentu.
Nama
Nama Tengah Nama
Depan Belakang
NAMA
PEGAWAI
TglLahir Umur
PEGAWAI
PEGAWAI LAPOR
KERJA DEPARTEMEN
PEGAWAI
KERJA
PEGAWAI PROYEK
KOTA
r1
P1 k1
r2
p2 k2
r3
p3 k3
. . .
1 1
MILIK
PEGAWAI KENDARAAN
r1
P1 d1
r2
p2 d2
r3
p3 d3
r4
p4 .
. .
N 1
PEGAWAI KERJA
DEPARTEMEN
M:N
M N
Total Participation
Keberadaan suatu entity tergantung pada hubungannya
dengan entity lain.
N 1
PEGAWAI PUNYA BAGIAN
Partial Participation
Keberadaan suatu entity tidak tergantung pada hubungannya
dengan entity lain.
N 1
PEGAWAI KERJA PROYEK
1. 1. Entity
2. 2. Weak Entity
3. 3. Relationship
4. 4. Identifying Relationship
5. 5. Atribut
7. 7. Atribut Multivalue
8. 8. Atribut Composite
9. 9. Atribut Derivatif
ALM1 KDPOS
TGLLAH N ANGGOTA 1
PEGAWAI BAGIAN
UMUR 1 1
PIMPIN
1
1 N M
JAM
KONTROL
KERJA PUNYA
N
1
PUNYA PROYEK
LOKAPR
NOPRO
N
NAPRO
TANGGUNGAN
PEGAWAI ALAMAT
PROYEK
LOKPR(NOPRO, LOKASI)
NOPEG …….
1
PEGAWAI KONTROL
N
PEGAWAI (NOPEG, ….., SUPERVISOR-ID)
NOBAR …….
M
N
KOMBAR (NOBAR, NOKOMP , JUMLAH)
5. Setiap Binary Relationship 1:1, dimana Participation Constraint
keduanya total, buatlah suatu relasi gabungan dimana Primary
Keynya dapat dipilih salah satu.
NOPEG NOPRO
1 1
PEGAWAI KERJA PROYEK
NOPEG NOBAG
1 1
NOPEG NOPRO
1 1
PEGAWAI KERJA PROYEK
1 N
BAGIAN PUNYA PROYEK
N 1
PEGAWAI KERJA PROYEK
NOPEG …… .. NOPRO
M N
KOTA
NOKOT
12. Setiap tipe Weak Entity, dibuat suatu relasi yang memuat
semua atributnya dimana Primary Keynya adalah gabungan
dari Partial Key dan Primary Key dari relasi induknya
(identifying owner).
1 N
PEGAWAI PUNYA TANGGUNGAN
NOPRO, JAM)
Daftar Pustaka
17.Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.
Basis Data
11
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari konsep Mahasiswa mampu menjelaskan konsep
normalisai & anomali tabel normalisasi, konsep anomali serta
mengidentifikasi anomali dalam sebuah
relasi.
C. Proses Normalisasi
ketergantungan fungsional
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional pada
atribut X (R.X ---> R.Y), jika dan hanya jika setiap nilai X pada
relasi R mempunyai tepat satu nilai Y pada R.
Tabel PEMASOK-BARANG
No-pem Na-pem
P01 Baharu
P02 Sinar
P03 Harapan
Contoh :
KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)
Ketergantungan fungsional :
No-pem --> Na-pem
No-bar, No-pem --> Jumlah (Tergantung penuh thd keynya)
G. Ketergantungan Transitif
Contoh :
Ketergantungan transitif :
No-pem Kode-kota
Kode-kota Kota , maka
No-pem Kota
No-bar
P01 1 Jakarta
P02 3 Bandung
P03 2 Surabaya
P01 1 1 Jakarta
P02 3 2 Surabaya
P03 2 3 Bandung
Nama_Mhs
No-Mhs Jurusan
Nilai
Nama-MK
Kode-MK Kode-Dosen
Nama-Dosen
Daftar Pustaka
19.Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.
Basis Data
Ketergantungan Fungsional
Dalam Normalisasi
12
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari ketergantungan Mahasiswa mampu memahami konsep
fungsional dalam normalisasi & bentuk dari ketergantungan fungsional dengan
normal 1, 2 dan 3. mengidentifikasi jenis normalisasi serta
mampu memahami aturan pembentukan
bentuk normal 1, 2 dan 3 dengan
melakukan proses normalisasi.
PETUNJUK 1:
Desain suatu skema relasional sedemikian rupa sehingga semantik yang dikandungnya mudah
untuk untuk dijelaskan.
Dibawah ini diberikan contoh penurunan skema relasional yang menyalahi petunjuk-1 di atas :
Yang merupakan hasil NATURAL JOIN dari sebagian attribute EMPLOYEE dan DEPARTMENT, dan relasi :
Yang merupakan modifikasi dari relasi WORKS_ON dengan tambahan attribute dari PROJECT dan
EMPLOYEE, akan membutuhkan pemakaian storage yang lebih besar, karena adanya pengulangan
(repeating group) dari :
Yang sama)
(PName, PLocation)
dalam relasi EMP_PROJ (untuk setiap employee yang bekerja dalam satu project yang
sama)
Persoalan lain yang lebih serius dari kedua relasi di atas bilamana dijadikan sebagai base relations
adalah timbulnya “Update Anomalies”, yang meliputi : (3)
- Insertion anomalies
- Deletion anomalies
- Modification anomalies
** Insertion Anomalies.
** Deletion Anomalies.
Anomali ini berkaitan erat dengan persoalan kedua dalam insertion anomalies; dimana untuk kasus
relasi EMP_DEPT, jika suatu tuple employee yang merupakan satu-satunya employee untuk suatu
Department dihapus, maka informasi mengenai Department akan terhapus dari basis data.
** Modification Anomalies.
Dalam relasi EMP_DEPT, jika nilai dari salah satu attribute employee untuk suatu Department tertentu
diubah (misalnya nama department diubah), maka semua tuple employee yang bekerja pada
Department tersebut juga harus diubah. Jika ada tuple yang tertingal tidak diubah, maka akn terdapat
dua nama yang berbeda untuk satu department yang sama (yang seharusnya tidak boleh terjadi)
PETUNJUK-2:
Desain suatu skema relasi dasar (base relation schema) sedemikian rupa sehingga ketiga jenis
anomali (insertion, deletion dan modification) tidak akan terjadi.
Pemborosan storage
Selain kesulitan-2 di atas, nilai – nilai NULL dapat memberikan interpretasi jamak (multiple,
intepretations) terhadap tuple yang dalamnya terdapat attribute – attribute dengan nilai null :
PETUNJUK 3:
Sedapat mungkin, hindari penempatan attribute – attribute dalam suatu base relation yang
memungkinkan timbulnya nilainya null. Jika nilai – nilai null tidak dapat dihindari, yakinkan
bahwa hal tersebut hanya berlaku untuk kasus – kasus khusus dan jangan diberlakukan terhadap
sebagaian besar dari tuple dalam suatu relasi
Sebagai contoh, jika hanya terdapat 10% dari keseluruhan employee yang mempunyai
kantor pribadi, maka merupakan suatu cara perancangan yang beralasan apabila satu
attribute OFFICE_NUMBER dimasukkan dalam relasi EMPLOYEE; tetapi akan lebih baik
apabila dibuatkan satu relasi baru yang terdiri dari dua attribute (ESSN, OFFICE_NUMBER)
yang dipakai untuk menyimpan data employee yang mempunyai kantor pribadi.
Maka, jika kedua relasi hasil dekomposisi di atas diupayakan untuk dilakukan NATURAL JOIN
(lewat attribute ”Plocation”), akan diperoleh sejumlah tuple yang melebihi (tidak ada) dalam
EMP_PROJ.
Keadaan ini dapat terjadi karena terdapat sejumlah tuple hasil JOIN utuk “PLOCATION” yang sama,
pasangan tuple “SSn” dan “EName” yang dihasilkan bukan merupakan pasangan yang valid.
Sejumlah tuple yang ada dalam hasil JOIN tetapi tidak ada dalam relasi EMP_PROJ disebut
Spurious tuples, yaitu tuples yang tidak dikehendaki dan tidak valid.
PETUNJUK 4:
Dalam mendesain skema-skema relasi harus diupayakan sehingga skema-skema yang dihasilkan
dapat dilakukan JOIN dengan kondisi keamanan (EQUI JOIN atau NATURAL JOIN) pada attribute-
attribute yang berupa primary key atau foreign key, dengan cara yang menjamin bahwa
squrious tuples tidak akan dihasilkan.
G. KETERGANTUNGAN FUNGSIONAL
(FUNCTIONAL DEPENENCIES)
Konsep Ketergantungan Fungsional merupakan salah satu konsep yang angat penting dalam desain
skema relasional, karena ini dapat secara formal mendefinisikan bentuk-bentuk relasi yang normal
(normalisasi data).
Jika suatu skema basis data relasional dengan n buah attribute dinyatakan dala bentuk unversal:
Maka ketergantungan fungsional (disingkat FD) antara dua set attribute X dan Y (keduanya subset
dari R), dinotasikan X Y, menyatakan suatu constraint pada sejumlah tuples yang yang
meungkinkan dapat membentuk ”relation instance” r dari R; yaitu:
Untuk sembarangan pasangan tupoles t1 dan t2 dalam r sedemikian rupa sehingga berlaku t1[X]
= t2[X], maka juga harus berlaku t[Y] = t[Y]. (menyatakan konsep key (FK, PK))
Dari contraint di atas, dapat dikatakan bahwa nilai-nilai komponen tuple dari X dapat secara unik
(atau secara fungsional) menentukan nilai-nilai dari komponen Y. Sebaliknya, dapat juga dikatakan
bahwa Y secara fungsional tergantung pada X.
Jadi, X secara fungsoional menentukan Y dalam suatu skema relasi R dan hanya jika, bilamana dua
tuples dari r(R) mempunyai nilai X yang sama, maka kedua tuples ini juga harus mempunyai nilai Y
sama
Jika suatu constraint pada R berlaku bahwa tidak boleh ada lebih dari satu tuple untuk suatu
nilai X dalam sembarang relation instance r(R) (yaitu X merupakan candidate key dari R)
mengisyaratkan bahwa X Y untuk sembarang subset attribute Y dari R.
Satu set dari semua functional dependencies yang dapat diturunkan dari F disebut: “Closure F+ dari F”.
Notasi F ╞XY digunakan untuk menyatakan bahwa functional dependency XY diturunkan dari
satu set FDF.
Untuk tujuan mempersingkatkan penulisan variable-variabel attribute, digunakan notasi:
FD{X, Y} Z disingkat XYZ
1. Rumus Reflexive:
Jika X ≥ Y , maka XY
2. Rumus Augmentation:
{XY} ╞XZ YZ
3. Rumus Transitif;
{XY, YZ} ╞ XZ
4. Rumus Decomposition(Projection):
{XYZ} ╞XY
5. Rumus Union(Additive):
{XY, XZ} ╞XYZ
6. Rumus Pseudotransitive:
{XY, WXZ} ╞ WXZ
Rumus 1 s/d 3 dikenal sebagai ‘Armstrong’s Inference Rules’, dimana set dependence F dapat
diturunkan hanya dengan menggunakan rumus-rumus.
Algoritma mencari X+
(X + : closure of X under F)
Biasanya, perancang basis data pertama mendifinisikan functional dependencies F yang dapat
ditentukan dari semantik attribute dalam R
Functional dependencies tambahan yang juga berlaku dalam R dapat diturunkan dengan
menggunakan Armstrong’s rule pada F
secara sistematik dapat diperoleh dengan cara, pertama menentukan setiap set
attribute X yang muncul disisi sebelah kiri dari FD dalam F yang kemudian dengan
menggunakan Armstrong’s rule cari semua attribute yang tergantung pada X.
Algoritmanya:
X+ := X;
REPEAT
Oldx+ := x+ ;
CONTOH:
F= { SSN EName,
Dengan menggunakan algoritma untuk menghitung X+ dengan berdasarkan pada F, maka diperoleh:
1. SSN+ = {SSN}
Ssn Ename SSN ≤ SSN+ SSN+ = {SSN}U{Ename}={SSN, Ename}
2. Pnumber+ = {Pnumber}
Pnumber{Pname, Plocation} Pnumber ≤ Pnumber+ Pnumber+ = {Pnumber, Pname,
Plocation}
Satu set FD E dilingkup (covered) oleh satu set FD F (F melingkupi E), jika setiap FD dalam E juga
ada dalam F+; yaitu E dilingkup oleh F jika setiap dependency dalam E dapat diturunkan dari F.
Jadi E=F jika kedua kondisi, yaitu E melingkupi F dan F melingkupi E terpenuhi.
1. Menghitung x+ dengan berdasarkan pada F untuk setiap FD XY dalam E, maka dikatakan F
melingkupi E.
2. Periksa apakah attribute – attribute dalam Y ada dalam X+. Jika ”Ya” untuk setiap FD dalam D
maka, dikatakan F melingkupi E.
a) Setiap dependency dalam F mempunyai satu atribute tunggal pada sisi kanannya (canonical form).
b) Sembarang dependency dalam F tidak dapat dihapus dan tetap mempertahankan bahwa satu set
FD yang dihasilkan adalah ekivalen dengan F.
c) Sembarang dependency XA tidak dapat diganti dengan satu dependency YA (di mana YCX),
dan tetap menghasilkan FD yang ekivalen dengan F.
Set FD yang minimal di atas dapat dipandang sebagai satu set dependencies dalam bentuk standar (atau
canonical) tanpa redundansi.
kondisi a) menjamin bahwa setiap dependency ada dalam bentuk canonical dengan satu atribut
tunggal pada sisi kanannya.
Daftar Pustaka
Basis Data
13
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari pengenalan Mahasiswa mampu memahami konsep
aljabar relasional & kalkulus relasional penggunaan aljabar relasional &
pada basis data. kalkulus relasional dengan menjelaskan
fungsinya serta mampu membuat queri
sederhana dengan operasi aljabar
relasional dan operasi kalkulus
relasional.
B. SELECT
Memperoleh tupel – tupel dari suatu relasi yang memenuhi predikat tertentu
Simbol : δ (sigma)
Operasi SELECT akan melibatkan :
Operand : konstanta / bilangan
Operator aritmatika : <, =, >, ≥, ≠, ≤
Operator logika : Λ (and), ν (or), ┐(not)
Ilustrasi : R
δ npm=’50100333’ (MAHASISWA)
C. PROJECT
Memperoleh atribut – atribut tertentu dari suatu relasi
Simbol : π (pi)
Atribut-atribut
Ilustrasi : hasil project
Contoh Queri :
D. CARTESIAN PRODUCT
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi tupelo-tupel yang mungkin
Simbol : X (cros)
Ilustrasi :
R S RXS
a 1 a 1
b 2 a 2
3 a 3
b 1
b 2
b 3
Contoh Queri :
MHS X MTKULIAH
Simbol : U (union)
Ilustrasi :
R S R S
Contoh Queri :
Skema relasi MHS (npm, nama, alamat, tgl_lahir)
Skema relasi MTKULIAH (kd_mk, nama_mk, sks)
Gabungkan data dari relasi MHS dengan data dari relasi MTKULIAH
MHS MTKULIAH
Simbol : - (minus)
Ilustrasi :
R S R-S
Contoh Queri :
Dicari kode mata kuliah yang bersks 2 dan nilai mid untuk kode mata kuliah tersebut dibawah 50
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang mungkin dari relasi –
relasi.
Simbol : IXI
Ilustrasi
R S R X S
A 1 1 X a 1 X
B 2 1 Y a 1 Y
3 Z
Contoh Queri :
Dicari nama mahasiswa yang mengambil matakuliah dengan kode matakuliah “KK021”
(MHS X NILAI)
Π nama ( δ kd_mk = ‘KK021’ )
H. THETA JOIN
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang mungkin dari relasi –
relasi dengan kondisi tertentu
Ilustrasi :
R X S
R S B <D
A B C D E A B C D E
1 2 3 4 6 1 2 3 4 6
4 5 6 7 8 1 2 3 7 8
7 8 9 4 5 6 7 8
Contoh Queri :
Dicari nama matakuliah yang diambil oleh mahasiswa dengan NPM “50100333” dengan kode
matakuliah pada relasi nilai harus sama dengan relasi mtkuliah
I. INTERSECTION
Membentuk suatu relasi yang terdiri atas tupel –tupel yang sama daru dua relasi
Simbol : ∩
R S R ∩ S
Contoh Queri :
Dicari kode matakuliah yang mempunyai sks = 4 yang ambil oleh mahasiswa dengan NPM
“50100333”
(MTKULIAH) (NILAI)
Π kd_mk ( δ sks = 4 ) ∩ Π kd_mk ( δ npm = ‘50100333’ )
J. DIVISION
Untuk memndapatkan nilai yang ada pada salah satu atribut dari relasi ‘ pembilang ‘ yang nilai
atributnya sama dengan nilai atribut relasi ‘ penyebut ‘
Simbol : ÷
R S R ÷ S R
a b c d c d a b R
a b e f e f e d ÷ S
b c e f S
e d c d
e d e f Sisa
a b d e bagi
Contoh Queri :
(NILAI) (MHS)
Π kd_mk, npm ) ∩ Π npm ( δ nama = ‘SADIKIN’ )
Daftar Pustaka
23.Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.
Basis Data
14
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari keamanan Mahasiswa mampu menjelaskan lingkup
sistem basis data. keamanan basis data serta mampu
mengidentifikasi tipe ancaman yang
dapat mempengaruhi keamanan sistem
basis data.
Perangkat keras
Jaringan
Komunikasi
In-Secure
ENKRIPSI ENKRIPSI
Eksternal
Remote Client Network
Server DBMS
Otorisasi FIREWALL
Dan Akses
(Intranet) Database
Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek
database
Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi :
Mengendalikan sistem atau obyek yang dapat diakses
Mengendalikan bagaimana pengguna menggunakannya
Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat
account pengguna.
2. Tabel View :
Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang
sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak
digunakan atau tidak perlu dilihat oleh pengguna.
Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level :
1. Relasi pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu
relasi
2. View pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang
terapat pada view
3. Read Authorization pengguna diperbolehkan membaca data, tetapi tidak dapat
memodifikasi.
4. Insert Authorization pengguna diperbolehkan menambah data baru, tetapi tidak
dapat memodifikasi data yang sudah ada.
5. Update Authorization pengguna diperbolehkan memodifikasi data, tetapi tidak dapat
menghapus data.
6. Delete Authorization pengguna diperbolehkan menghapus data.
Contoh :
Backup : proses secara periodik untuk mebuat duplikat ari database dan melakukan logging file (atau
program) ke media penyimpanan eksternal.
Jurnaling : proses menyimpan dan mengatur log file dari semua perubahan yang dibuat di database
untuk proses recovery yang efektif jika terjadi kesalahan.
Isi Jurnal :
Record transaksi
1. Identifikasi dari record
2. Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
3. Item data sebelum perubahan (operasi update dan delete)
4. Item data setelah perubahan (operasi insert dan update)
5. Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya
untuk semua transaksi
Record checkpoint : suatu informasi pada jurnal untuk memulihkan database dari kegagalan,
kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali,
maka untuk membatasi pencarian menggunakan teknik ini.
Recovery : merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar
setelah terjadinya suatu kegagalan.
4. Jenis Pemulihan :
1. Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat
mengubah / memperbarui data pada sejumlah tabel.
Teknik Pemulihan :
1. defered upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai
transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi
perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut.
2. Immediate Upadate / perubahan langsung : perubahan pada DB akan segera tanpa harus
menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO
untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
3. Shadow Paging : menggunakan page bayangan imana paa prosesnya terdiri dari 2 tabel yang
sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika
transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang
menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi
kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya
membuat terjadinya fragmentasi.
Daftar Pustaka
Basis Data
15
Ilmu Komputer Sistem Informasi 87010 Tim Dosen
Abstract Kompetensi
Modul ini mempelajari pengenalan Mahasiswa mampu menjelaskan alasan
objek sistem manajemen basis data. dibutuhkannya OODB serta mampu
menjelaskan konsep yang terkait dengan
OODB .
Object oriented database adalah sebuah model basisdata dimana informasi disimpan
daam bentuk object. Object yang dimaksud tersebut digunakan dalam OOP (object oriented
progamming). Ketika kemampuan basisdata bergabung dengan kemampuan OOP, hasilnya
berupa object database management sistem (ODBMS). ODBMS ideal untuk pada
pemrogaman object oriented karena mereka ketika malakukan proses developer, controller
ddan model mamiliki persamaan yaitu sama – sama mengguanakn object. ODBMS
mendukung data yang compleks seperti vidio, suara, gambar, dll secara native. Berbeda
dengan Relational Databse Mangement Sistem (RDBMS) yang tidak native mendukung data
compleks karena harus membagi menjasi dua bagian yaitu : model basis data dan model
aplikasi. Bagi yang telah mengenal RDBMS, object pada ODBMS bertindak sama dengan
tabel RDBMS. ODBMS dibuat untuk menggantikan RDBMS jika bahasa pemrograman yang
digunakan adalah OOP.
Database CAD menyimpan data yang berhubungan dengan rancangan mekanik dan
elektrik, sebagai contoh : gedung, pesawat, dan chips IC.
Database CAM menyimpan data yang jenisnya sama dengan sistem CAD, ditambah data yang
berhubungan dengan produksi yang mempunyai ciri-ciri tersendiri (seperti mobil pada saat
perakitan) dan produksi yang continue (seperti sintesa kimia).
Database CASE menyimpan data yang berhubungan dengan langkah-langkah dari siklus
pengembangan software yaitu : planning, requirements collection analysis, design,
implementation, test, maintenance and documentation.
Database CAP menyimpan dokumen yang kompleks. Sama seperti otomatisasi kantor,
aplikasi CAP telah diperluas untuk menangani dokumen-dokumen multimedia yang
berisikan teks, audio, gambar, video data, dan animasi.
Agar menyediakan dukungan yang lebih baik untuk area ini, dibutuhkan penanganan yang
lebih luas terhadap jenis data daripada nama, alamat, tanggal dan uang.
Sekarang ini sistem yang modern dapat menangani text yang berjenis bebas, foto, diagram,
audio dan video. Sebagai contoh: dokumen multimedia yang mengangani teks, foto,
spreadsheets dan suara.
Contoh : Objek Roti, objek ini mempunyai method Pembuatan Roti. Jika kita ingin memakan
roti, tentu kita tidak perlu tahu bagaimana cara membuatnya. Dengan demikian pembuatan
Roti menjadi sesuatu yang menjadi dasar bagi konsep information hiding.
· Atribut
adalah nama-nama property dari sebuah kelas yang menjelaskan batasan nilainya dari
property yang dimiliki oleh sebuah kelas tersebut. Atribut dari sebuah kelas mempresentasikan
property-property yang dimiliki oleh kelas tersebut. Atribut mempunyai tipe yang
menjelaskan tipe instanisasinya. Hanya sebuah instanisasi dari kelas (objek) yang dapat
mengubah nilai dari atributnya.
Keadaan (state) dari sebuah objek dijelaskan dengan nilai dari atribut-atribut yang
dimilikinya (selain keberadaan hubungan dengan objek lainnya). Dalam sebuah kelas atribut
hanya dinyatakan keberadaan dan batasan nilainya saja, sedangkan dalam sebuah objek
atributnya sudah dinyatakan nilai dan menjelaskan kedudukan / keadaan dari objek tersebut.
· Pesan (Message)
E. CLASS
Class merupakan pendefinisian himpunan objek yang sejenis. Objek yang
mempunyai atribut yang sama dan meresponse message yang sama dapat dikelompokkan
bersama membentuk sebuah class. Atribut dan method yang berhubungan cukup sekali saja
didefinisikan untuk class, daripada didefinisikan terpisah untuk setiap objek.
Contoh :
seluruh objek cabang dideskripsikan oleh sebuah class cabang (branch). Objek-objek pada
sebuah class disebut instance dari class. Setiap instance mempunyai nilainya sendiri untuk
setiap atribut, tetapi nama atribut dan method-nya sama seperti instance lainnya dari sebuah
class.
1. Single inheritance
Contoh : subclass Manager dan Sales_Staff merupakan turunan property dari superclass
Staff.
2. Multiple inheritance
4. Selective inheritance
Object Oriented Database (OOD) merupakan salah satu jenis database dimana data
direpresentasikan dalam bentuk object. Pendekatan ini sangat dipengaruhi oleh bahasa
pemrograman object-oriented dan dapat dipahami sebagai usaha untuk menambah
fungsionalitas DBMS pada lingkup bahasa pemrograman.
Daftar Pustaka
27.Connoly, Thomas M., Begg, Carolyn E., and Strachan, Anne D., Database System. A
practical pproach to Design, Implementation, and Management, Addison Wesley Company,
1996.