Anda di halaman 1dari 29

IMPLEMENTASI BASIS DATA

By :
I Ngh Putu Mardika, S.Pd
Performansi basis data ditentukan oleh
• Kualitas dan bentuk perancangan basis data
• Kualitas mesin / komputer
• Platform yang dipilih
• Sistem operasi
• DBMS yang digunakan
Implementasi Basis Data
• Merupakan upaya untuk membangun basis data fisik yang
ditempatkan dalam media penyimpan (disk) dengan
bantuan DBMS
• Diawali dengan melakukan transformasi dari model data
yang telah selesai dibuat struktur basis data sesuai DBMS
yang dipilih
• Secara umum, sebuah ERD akan diwujudkan menjadi
sebuah basis data secara fisik. Sedangkan komponen-
komponen ER yang berupa himpunan entitas dan
himpunan relasi akan diwujudkan menjadi tabel-tabel.
Selanjutnya, atributatribut yang melekat pada masing-
masing himpunan entitas dan himpunan relasi akan
dinyatakan sebagai field-field dari tabel yang sesuai
Transformasi Model Data ke Basis Data Fisik

• Transformasi Umum/Dasar
• Implementasi Himpunan Entitas Lemah dan Sub
Entitas
• Implementasi Relasi Tunggal (Unary Relation)
• Implementasi Relasi Multi Entitas (N-ary
Relation)
• Implementasi Relasi Ganda (Redundant Relation
Transformasi Umum/Dasar
Aturan Umum :
a. Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel
(filedata)
b. Relasi dengan derajat relasi satu-ke-satu, yang menghubungkan 2
buah himpunan entitas akan direpresentasikan dalam bentuk
penambahan /penyertaan atribut-atribut relasi ke tabel yang
mewakili salah satu dari kedua himpunan entitas

Tabel Jurusan
kode_jur nama_jur kode_dos
c. Relasi dengan derajat relasi satu-ke-banyak, yang menghubungkan 2 buah
himpunan entitas, juga akan direpresentasikan dalam bentuk pemberian /
pencantuman atribut kunci dari himpunan entitas pertama (yang
berderajat 1) ke tabel yang mewakili himpunan entitas kedua (yang
berderajat M)
c. Relasi dengan derajat relasi banyak-ke-banyak, yang menghubungkan 2
buah himpunan entitas akan diwujudkan dalam bentuk tabel khusus, yang
memiliki field (atau foreign key) yang berasal dari kunci-kunci dari
himpunan entitas yang dihubungkannya

nim nama_mhs
Tabel Mahasiswa
nim nama_mhs alamat_mhs tgl_lahir
alamat_mhs
mahasiswa

tgl_lahir

nim Tabel mempelajari


kode_kul nim kodek_kul indeks_nilai
Tabel khusus yang
mempelajari mewakili himpunan
relasi
indeks_nilai

Tabel Kuliah
kode_kul
kode_kul nama_kul sks semester
kuliah
nama_kul
sks semester
Implementasi Himpunan Entitas Lemah
Implementasi Relasi Tunggal (unary Relation)
Untuk relasi satu-ke-banyak dapat diimplementasikan melalui
penggunaan field key dua kali tapi untuk fungsi yang berbeda.
Implementasi Relasi Tunggal (unary Relation)
Relasi yang derajatnya banyak-ke-banyak akan diimplementasikan melalui
pembentukan tabel baru yang merepresentasikan relasi tersebut. Tabel baru ini
mendapatkan field dari semua atribut relasi (jika ada) yang ditambah dengan
atribut key dari himpunan entitasnya.
Implementasi Relasi Multi Entitas (N-ary Relation)
• Secara umum, relasi multi entitas yang menghubungkan
lebih dari dua himpunan entitas (N himpunan entitas, di
mana N > 2) akan diimplementasikan sebagai sebuah tabel
khusus (tentu saja, setiap himpunan entitas yang terlibat
dalam relasi juga akan direpresentasikan dalam tabel-tabel
terpisah).
Namun jika pada relasi yang menghubungkan N buah
himpunan entitas kita dapat memastikan bahwa Derajat
Relasi parsial di antara (N-1) buah himpunan entitas
dengan suatu himpunan entitas (misalnya X) adalah satu-
ke-banyak, maka relasi tadi tidak perlu diwujudkan sebagai
sebuah tabel khusus dan atribut-atributnya cukup
dilekatkan pada himpunan entitas X tersebut.
Implementasi Relasi Multi Entitas (N-ary Relation)

Pada Diagram E-R diatas, Derajat Relasi parsial di antara setiap pasang
himpunan entitas yang ada adalah sebagai berikut:
 Pada relasi pengajaran tersebut setiap mata kuliah dapat diajarkan oleh
seorang dosen dan setiap dosen dapat melakukan pengajaran banyak mata
kuliah, maka Derajat Relasi parsial antara himpunan entitas Dosen–Kuliah
adalah 1-N (satu-ke-banyak).

13
Implementasi Relasi Multi Entitas (N-ary Relation)

 Pada relasi pengajaran tersebut setiap mata kuliah hanya dapat


diselenggarakan di sebuah ruang yang telah ditentukan dan setiap ruang
pada saat yang berbeda dapat digunakan untuk pengajaran berbagai mata
kuliah, maka Derajat Relasi parsial antara himpunan entitas Ruang-Kuliah
adalah 1-N (satu-ke-banyak).

14
Implementasi Relasi Multi Entitas (N-ary Relation)

 Pada relasi pengajaran tersebut setiap ruangan dapat digunakan oleh


banyak dosen (untuk mengajarkan berbagai mata kuliah) dan setiap dosen
dapat menggunakan berbagai ruangan karena memang mengajarkan lebih
dari satu matakuliah, maka Derajat Relasi parsial antara himpunan entitas
Ruang-Dosen adalah N-N (banyak-ke-banyak).

15
Implementasi Relasi Multi Entitas (N-ary Relation)
Dari hasil pengamatan tersebut kita dapat menyetujui bahwa
semua derajat relasi parsial antara himpunan entitas Dosen
ataupun Ruang dengn himpunan entitas Kuliah selalu satu-ke-
banyak. Dengan demikian, relasi Pengajaran tersebut tidak perlu
diimplementasikan sebagai sebuah tabel khusus, tetapi atribut-
atributnya dilekatkan pada tabel yang mewakili himpunan entitas
kuliah.

3 buah field yang mewakili


relasi Pengajaran
Implementasi Relasi Multi Entitas (N-ary Relation)
Jika ternyata di kemudian hari, suatu mata kuliah (dengan jumlah sks yang besar)
dapat dilaksanakan lebih dari satu kali dalam seminggu, dan mungkin untuk
diselenggarakan di ruang yang berbeda, maka Derajat Relasi parsial antara
himpunan entitas Ruang-Kuliah bukan lagi satu-ke-banyak, tapi menjadi banyak-
ke-banyak. Jika kenyataan ini harus diakomodasi, maka tabel Kuliah tetap
sebagaimana bentuk semula (dengan 4 buah field: kode_kul, nama_kul, sks dan
semester) dan relasi diatas harus diimplementasikan sebagai sebuat tabel khusus
seperti berikut:
Implementasi Relasi Ganda (Redundant Relation)
Implementasinya ditinjau pada masing-masing relasi tanpa terikat satu sama
lain berdasarkan Derajat Relasi di masing-masing relasi tersebut.

Karena derajat relasi mengajar adalah satu-ke-banyak, maka field kode_dos yang
berasal dari himpunan entitas Dosen ditambahkan ke tabel Kuliah. Sementara untuk
relasi Menguasai, karena Derajat Relasinya adalah banyak-ke-banyak maka relasi akan
dinyatakan dalam tabel khusus dengan 2 buah field: kode_dos dan kode_kul.
18
Implementasi Relasi Ganda (Redundant Relation)
Hasil akhir implementasinya adalah:

Atribut tambahan untuk


merepresentasikan relasi Mengajar

tabel khusus untuk


merepresentasikan relasi menguasai

19
Implementasi Sub Entitas
Hasil dari Spesialisasi
Kd_dsn alamat
nama

nohp
DOSEN Tgl_gajian

ISA
nik
jabatan Nama_kantor

Tgl_masuk DOSENTETAP DOSEN TDK TETAP

Gaji_bulanan alamat_kantor

Gaji_harian
Implementasi Spesialisasi dan Generalisasi
Na m a _m hs Nim

Mahasiswa Generalisasi
Alamat_mhs Tgl_lahir

ISA

Mahasiswa D3 Mahasiswa S1

nim Nama_mhs Alamat_mhs Tgl_lahir Prog_studi


Implementasi Agregasi
Tabel Mempelajari

nim Kode_kul Indeks_nilai

N N
Mahasiswa Mempelajari Kuliah

Tabel Praktikum
Nim Kode_kul
N Kode_pra Nama_pra Jumlah_jam
Mengikuti

Kode_pra Nilai

N
Tabel Mengikuti
Praktikum
nim Kode_kul Kode_pra nilai
Kode_pra Nam a_pra Jum lah_jam
DBMS dan Struktur Tabel
• Data Angka
• Data Numerik
• Data Bilangan Bulat (integer)
• Data Bilangan Nyata
• Data Uang
• Data Teks
• Feature tambahan
Indeks dan Struktur Penyimpanan

• Indeks Primer (Primary Index)


• Indeks Sekunder
• Struktur Penyimpanan (Storage Structure)
KUIS
• Buatkan ilustrasi Locking disertai querynya
• Buatkan contoh hak otorisasi, misalnya untuk
mengupdate gaji pd tabel pegawai
• Buat 1 contoh kasus data base yang besar dan
dipecahkan dengan menggunakan data mining
• Buat Konsepsual ERD Inventori dan di
tranformasikan pada tabel, ketentuan :
– Terdiri : 3 entitas, masing-masing Entitas 4 atribut,
3 relasi serta menentukan kunci/key
Keamanan Pada Perancangan
Basisdata
• Ketika kita meletakkan basisdata pada web,
dia menjadi mudah diserang oleh hacker dan
penjahat lainnya dari luar organisasi yang akan
merusak atau mencuri data. Bayangkan bahwa
gaji semua orang, data personalia, atau data
rahasia perusahaan lainnya ditampilkan kepada
umum melalui website. Bahkan dari dalam
perusahaan sendiri dapat terjadi seorang
pegawai merusak sistem ketika mereka dipecat.
• Kemungkinan terjadinya gangguan dari orang-orang baik
dalam maupun luar organisasi harus dilawan. Masalah yang
lebih besar dapat terjadi ketika orang-orang dalam
perusahaan harus menanggulangi kemungkinan kesalahan
yang tak disengaja. Menghapus atau menimpa suatu file data,
menghapus tabel atau mengupdate kolom secara tidak
benar dengan tidak sengaja, dapat menimbulkan masalah
seperti yang ditimbulkan oleh hacker. Oleh karena itu
keamanan harus direncanakan dengan baik dan diintegrasikan
dalam basisdata.
• Basisdata seharusnya tidak hanya menyediakan data pada
pengguna tapi juga menyediakan proteksi pada data tersebut.
Yang Berhak Mengakses Basisdata
• Ada beberapa kategori pengguna untuk setiap sistem
informasi, mulai dari pengguna akhir sampai
administrator sistem informasi. Pengguna yang
mempunyai akses untuk sistem informasi adalah sebagai
berikut:
• Pengguna akhir
• Pelanggan
• Manajemen
• Administrator jaringan
• Administrator sistem
• Administrator basisdata
• Pemilik skema
Tingkatan Akses
• Pengguna basisdata diberi identitas pengguna dengan password
dan kemampuan untuk berhubungan dengan basisdata.
• Basisdata modern membutuhkan keputusan tentang perancangan
yang berhubungan dengan identitas pengguna dan password.
Keamanan digunakan untuk mengontrol akses. Pengguna mempunyai
akses ke baik data maupun sumberdaya, keduanya dapat dikontrol pada
tingkatan basisdata.
• Apabila pengguna diberi identitas pengguna, mereka dapat mengakses
basisdata secara langsung kedalam jaringan melalui aplikasi client-
server. Mereka juga dapat log in melalui aplikasi middle tier untuk
mengakses basisdata. Sebagai contoh, pengguna dapat log in ke server
aplikasi web yang mempunyai banyak pengguna web yang log in ke
server tersebut. Server aplikasi web kemudian berkomunikasi
dengan basisdata dengan cara log in dengan menggunakan identitas
pengguna yang mempunyai akses minimum yang dibutuhkan untuk
menyelesaikan pekerjaan yang sedang dikerjakan oleh aplikasi web.

Anda mungkin juga menyukai