36
1 Modul Pengajaran PERANCANGAN BASIS DATA PENYUSUN Sandra J Kuryanti Diploma Tiga Program Studi Manajemen Informatika AMIK BSI BOGOR

PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

  • Upload
    vanhanh

  • View
    311

  • Download
    16

Embed Size (px)

Citation preview

Page 1: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

1

Modul Pengajaran

PERANCANGAN BASIS DATA

PENYUSUN

Sandra J Kuryanti

Diploma Tiga

Program Studi Manajemen Informatika

AMIK BSI BOGOR

Page 2: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

2

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat

dan karunia-Nya, sehingga pada akhirnya penulis dapat menyelesaikan modul pengajaran ini

dengan baik.

Adapun judul modul pengajaran ini adalah Perancangan Basis Data. Penulis berharap

semoga modul pengajaran ini dapat bermanfaat dan dapat dipergunakan untuk menambah

materi pengajaran. Seperti kata pepatah, tak ada gading yang tak retak, penulis pun

menyadari kalau modul pengajaran ini masih belum sempurna, masih banyak terdapat

kesalahan di sana sini. Oleh karena itu penulis memohon kritik dan saran yang membangun

guna perbaikan modul ini ke depannya.

Akhir kata penulis mengucapkan terima kasih kepada semua pihak yang telah

membantu dalam penyelesaian modul pengajaran ini.

Wassalam

Penulis

Page 3: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

3

DAFTAR ISI

Halaman

Lembar cover .................................................................................................. 1

Kata Pengantar ................................................................................................ 2

Daftar Isi ......................................................................................................... 3

BAB I .......... ................................................................................................... 4

BAB II ......... .................................................................................................. . 6

BAB III ....... ………………………………………………………………….. 7

BAB IV ………………………………………………………………….. .... 11

BAB V ………………………………………………………………….. ..... 18

BAB VI ………………………………………………………………….. .... 22

BAB VII ………………………………………………………………….. ... 28

Page 4: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

4

BAB I

KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE

Data Base (basis data) merupakan kumpulan data yang saling berhubungan.

Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel

yang ada. Dalam satu file atau table terdapat record-record yang sejenis, sama besar, sama

bentuk, yang merupakan satu kumpulan entitas yang seragam. Satu record (umumnya

digambarkan sebagai baris data) terdiri dari field yang saling berhubungan menunjukan

bahwa field tersebut dalam satu pengertian yang lengkap dan disimpan dalam satu record.

Adapun Struktur Database adalah : Database File/Table Record Elemen

data/FieldDari pengertian diatas dapat disimpulkan bahwa basis data mempunyai beberapa

kriteria penting, yaitu :

1. Bersifat data oriented dan bukan program oriented.

2. Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.

3. Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.

4. Dapat memenuhi kebutuhan sistem-sistem baru secara mudah

5. Dapat digunakan dengan cara-cara yang berbeda.

Prinsip utama Data Base adalah pengaturan data dengan tujuan utama fleksibelitas

dan kecepatan pada saat pengambilan data kembali. Adapun ciri-ciri basis data diantaranya

adalah sebagai berikut :

1. Efisiensi meliputi kecepatan, ukuran, dan ketepatan

2. Data dalam jumlah besar.

3. Berbagi Pakai (dipakai bersama sama/Sharebility).

4. Mengurangi bahkan menghilangkan terjadinya duplikasi dan ketidakkonsistenan data

Istilah-Istilah Yang Dipergunakan Dalam Sistem Basis Data

1. Enterprise yaitu suatu bentuk organisasi

Contoh :

Enterprise: Sekolah, Database : Nilai

Enterprise: Rumah sakit, Database : AdministrasiPasien

2. Entitas yaitu suatu obyek yang dapat dibedakan dengan objek lainnya

Page 5: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

5

Contoh :

Database : Nilai, Entitas: mahasiswa, Matapelajaran

Database : Administrasi Pasien, Entitas: pasien, dokter, obat

3. Atribute/field yaitu setiap entitas mempunyai atribut atau suatu sebutan untuk mewakili

suatu entitas.

Contoh :

Entity : siswa, Field = Nim, nama_siswa,alamat,dll

Entity : nasabah, Field=Kd_nasabah,nama_nasabah,dll

4. Data value yaitu data aktual atau informasi yang disimpan pada tiap data elemen atau

atribute.

Contoh :

Atribut nama_karyawan : sutrisno, budiman, dll

5. Record/tuple yaitu kumpulan elemen-elemen yang saling berkaitan menginformasikan

tentang suatu entity secara lengkap.

Contoh :

Record mahasiswa: nim, nm_mhs, alamat.

6. File yaitu kumpulan record-record sejenis yang mempunyai panjang elemen sama, atribute

yang sama namun berbeda-beda data valuenya

7. Kunci elemen data yaitu tanda pengenal yang secara unik mengindentifikasikan entitas

dari suatu kumpulan entitas

Page 6: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

6

BAB II

DATA MODEL

Sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antara

data dan batasan-batasan data yang terintegrasi di dalam suatu organisasi. Tujuan model data

adalah untuk Menyajikan data agar mudah di modifikasi dan di mengerti.

Jenis-Jenis Model Data

1. Model data berbasis objek

Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar

entitas. Model data berbasis objek terdiri dari :

Entity Relationship model

Model untuk menjelaskan hubungan antar data dalam basis data berdasarkan suatu

persepsi bahwa real word terdiri dari objek-object dasar yang mempunyai hubungan

atau relasi antara objek-objek tersebut

Semantik data model

Hampir sama dengan Entity Relationship model dimana relasi antara objek dasar

tidak dinyatakan dengan simbol tetapi menggunakan kata-kata (Semantic).

2. Model data berbasis record

Model ini berdasarkan pada record untuk menjelaskan kepada user tentang hubungan

logic antar data dalam basis data

3. Model data fisik

Digunakan untuk menguraikan data pada internal level. Beberapa model yang umum

digunakan :

Unifying model

Model ini menggabungkan memori dan transaksi database dalam satu kesatuan model.

Frame memory

Frame Memory adalah sebuah virtual view dari tempat penyimpanan sekunder yang

digunakan untuk mendukung penyimpanan record database

4. Model data konseptual

Model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-

obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-

entitas itu. Biasanya direpresentasikan dalam bentuk Entity Relationship Diagram.

Page 7: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

7

BAB IIII

ENTITY RELATIONSHIP DIAGRAM

Basisdata Relasional adalah kumpulan dari relasi-relasi yang mengandung seluruh

informasi berkenaan suatu entitas/ objek yang akan disimpan di dalam database. Tiap relasi

disimpan sebagai sebuah file tersendiri. Perancangan basisdata merupakan suatu kegiaatan

yang setidaknya bertujuan sebagai berikut:

1. Menghilangkan redundansi data

2. Meminimumkan jumlah relasi di dalam basis data

3. Membuat relasi berada dalam bentuk normal, sehingga dapat meminimumkan

permasalahan berkenaan dengan penambahan, pembaharuan dan penghapusan.

Entity relationship diagram / ERD adalah suatu pemodelan dari basisdata relasional

yang didasarkan atas persepsi di dalam dunia nyata, dunia ini senantiasa terdiri dari

sekumpulan objek yang saling berhubungan antara satu dengan yang lainnya. Suatu objek

disebut entity dan hubungan yang dimilikinya disebut relationship. Suatu entity bersifat unik

dan memiliki atribut sebagai pembeda dengan entity lainnya

Simbol Entity Relationship Diagram

Simbol Keterangan

Entity

Weak Entity

Relationship

Identifying Relationship

Page 8: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

8

Atribut

Atribut Primari Key

Atribut Multi Value

Atribut Derivatif

Atribut Composite

Contoh Kasus

Pada saat mendaftar menjadi anggota perpustakaan, dicatatlah nama, nomor mahasiswa dan

alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku

yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku,

judul, pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang.

Tahapan pembuatan ERD

1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat.

2. Menentukan atribut-atribut key dari masing-masing himpunan entitas.

3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas-

himpunan entitas yang ada beserta foreign key-nya.

4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.

5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non

key).

Page 9: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

9

Contoh

1. Entitas = Anggota, Buku

2. Atribut Key = Nomor Mahasiswa, Nomor Buku

3. Relasi Anggota Dengan Buku = Meminjam

4. 1 : N

5. Anggota = Nama Mahasiswa, Alamat Mahasiswa

Buku = Judul, Pengarang, Penerbit, Tahun Terbit

Langkah 1

Langkah 2

Langkah 3

ANGGOTA BUKU

ANGGOTA BUKU

No_mhs No_buku

No_mhs

ANGGOTA

No_buku

BUKU Meminjam

Page 10: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

10

Langkah 4

Langkah 5

No_mhs

ANGGOTA

No_buku

BUKU Meminjam 1 N

N Meminjam

1 ANGGOTA

No_mhs Nama

Alamat

BUKU

No_buku Pengarang

Penerbit Thn_Terbit

Page 11: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

11

BAB IV

TEKNIK NORMALISASI

Normalisasi adalah teknik perancangan yang banyak digunakan sebagai pemandu

dalam merancang basisdata relasional”. Pada dasarnya, normalisasi adalah proses dua

langkah yang meletakkan data dalam bentuk tabulasi dengan menghilangkan kelompok

berulang lalu menghilangkan data yang terduplikasi dari tabel relasional.

Tujuan normalisasi :

1. Mengatur data dalam kelompok-kelompok sehingga masing-masing kelompok hanya

menangani bagian kecil sistem.

2. Meminimalkan jumlah data yang berulang dalam basisdata.

3. Membuat basisdata yang datanya diakses dan dimanipulasi secara cepat dan efisien tanpa

melupakan integrasi data.

4. Mengatur data sedemikian rupa sehingga ketika memodifikasi data, anda hanya

mengubah pada suatu tempat.

Aturan Normalisasi

1. Hilangkan kelompok berulang, buat tabel terpisah untuk setiap himpunan atribut yang

berhubungan dan tentukan kunci utama pada masing-masing tabel.

2. Hilangkan data berulang, jika sebuah atribut hanya tergantung pada sebagian kunci

utama gabungan, pindahkan atribut ke tabel lain.

3. Hilangkan kolom yang tidak tergantung pada kunci, jika atribut tidak tergantung pada

kunci, pindahkan atribut ke tabel lain.

4. Pisahkan relasi majemuk, tidak ada tabel yang bias mengandung dua atau lebi relasi 1:n

atau n:m yang tidak berhubungan langsung.

5. Pisahkan relasi majemuk yang berhubungan secara semantik, ada batasan pada informasi

yang memperbolehkan pemisahan relasi many-to-many yang berhubungan secara logis.

6. Bentuk normal optimal, sebuah model hanya dibatasi oleh fakta sederhana.

7. Bentuk normal domain-key, sebuah model harus terbebas dari semua anomaly

Tahapan Normalisasi

1. Bentuk Normal Kesatu (1 NF / First Normal Form)

Bentuk Bentuk Normal Kesatu mempunyai ciri yaitu setiap data dibentuk dalam file flat,

data dibentuk dalam satu record demi satu record dan nilai dari field berupa “atomic

Page 12: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

12

value”. Tidak ada set atribut yang berulang ulang atau atribut bernilai ganda (multi

value). Tiap field hanya satu pengertian, bukan merupakan kumpulan data yang

mempunyai arti mendua. Hanya satu arti saja dan juga bukanlah pecahan kata kata

sehingga artinya lain.

Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah lagi maka ia

tidak memiliki sifat induknya.

2. Bentuk Normal Kedua (2NF)

Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria

bentuk Normal Kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada

kunci utama, sehingga untuk membentuk Normal Kedua haruslah sudah ditentukan

kunci-kunci field. Kunci field harus unik dan dapat mewakili atribut lain yang menjadi

anggotanya. Bentuk Normal Ketiga (3NF)

3. Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam bentuk Normal Kedua

dan semua atribut bukan primer tidak punya hubungan yang transitif. Artinya setiap

atribut bukan kunci harus bergantung hanya pada kunci primer secara menyeluruh.

Contoh pada bentuk Normal kedua di atas termasuk juga bentuk Normal Ketiga karena

seluruh atribut yang ada di situ bergantung penuh pada kunci primernya.

4. Boyce-Codd Normal Form (BNCF)

Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk Normal

ketiga. Untuk menjadi BNCF, relasi harus dalam bentuk Normal Kesatu dan setiap

atribut dipaksa bergantung pada fungsi pada atribut super key.

Jenis – Jenis Key Field / atribute kunci dalam database:

1. Super key

Yaitu himpunan dari satu atau lebih entitas yang digunakan untuk mengidentifikasikan

secara unik sebuah entitas dalam entitas set.

2. Candidate key

Yaitu satu attribute atau satu set minimal atribute yang mengidentifikasikan secara unik

suatu kejadian yang spesifik dari entity.

3. Primary key

Yaitu satu atribute atau satu set minimal atribute yang tidak hanya mengidentifikasikan

secara unik suatu kejadian yang spesifik tapi juga dapat mewakili setiap kejadian dari

suatu entity

Page 13: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

13

4. Alternate key

Yaitu kunci kandidat yang tidak dipakai sebagai primary key

5. Foreign key

yaitu satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan

yang menunjukkan ke induknya

Contoh

UNNORMAL FORM

SISWA(No_siswa, Nama, Wali_studi, Kelas1, Kelas2, Kelas3)

Siswa yang punya nomor siswa, nama dan wali studi mengikuti 3 mata pelajaran/

kelas. Disini ada perulangan kelas 3 kali ini bukan bentuk 1 NF.

Contoh Data:

No_siswa Nama Wali_studi Kelas-l Kelas2 Kelas3

22890100 Tanzania Zaman 1234 1543

22890101 Nia Rizki 1234 1775 1543

KELAS(Kode_kelas,nama_kelas,instruktur)

merupakan bentuk 1NF karena tidak ada yang berganda dan tiap atribute satu

pengertian yang tunggal.

Contoh Data:

Kode_kelas Nama_kelas Instruktur

1234 FisikaDasar Suroso

1543 Matematika Paulus

1775 Teknik Program Bagus

No_siswa Nama Wali_studi Kelas-l Kelas2 Kelas3

22890100 Tanzania Zaman 1234 1543

22890101 Nia Rizki 1234 1775 1543

Page 14: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

14

FIRST NORMAL FORM

Bentuk normal kesatu dari bentuk diatas menjadi:

No_siswa Nama Wali_studi Kode_kelas

22890100 Tanzania Zaman 1234

22890100 Tanzania Zaman 1543

22890101 Nia Rizki 1234

22890101 Nia Rizki 1775

22890101 Nia Rizki 1543

PT SANTA PURI FAKTUR PEMBELIAN

BARANG

Jalan Senopati 11

Yogyakarta

Kode Supplier: S02 Tanggal: 02/02/90

Nama Supplier: Gobel Nustra Nomor : 779

Kode

Nama Barang

Qty

Harea

Jumlah

R02

RICE COOKER CC3

10.0

150.000, 00

1. 500.000,00

Total Faktur

1. 500.000,00

Jatuh Tempo Faktur: 09/03/90

PT SANTA PURI FAKTUR PEMBELIAN

BARANG

Jalan Senopati 11

Yogyakarta

Kode Supplier: G01 . Tanggal: 07/02/90

Nama Supplier: Gobel Nustra Nomor : 998

Kode

Nama Barang

Qty

Harea

Jumlah

A01

A02

AC SPLIT 1/2 PK

AC SPLIT 1 PK

10.0

10.0

1,350,000

2,000,000

13,500,000

20,000,000

Total Faktur

33,500,000

Jatuh Tempo Faktur: 09/03/90

Page 15: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

15

1. Step I bentuk unnormalized

Bentuklah menjadi tabel unnormalized, dengan mencantumkan semua field data yang ada

Menuliskan semua data yang akan direkam Terlihat record record yang tidak lengkap, sulit

untuk membayangkan bagaimana bentuk record yang harus dibentuk untuk merekam data

tersebut.

2. Step II bentuk normal kesatu

Bentuklah menjadi bentuk normal kesatu dengan memisah misahkan data pada field field

yang tepat dan bernilai atomic, juga seluruh record harus lengkap adanya. Bentuk file

adalah flat file.

3. Step III bentuk normal kedua

Pembentukan bentuk normal kedua dengan mencari kunci kunci field yang dapat dipakai

sebagai patokan dalam pencarian dan sifatnya unik.

Melihat kondisi dari permasalahan factur di atas dapat diambil kunci kandidat yaitu:

No factur (no fac)

Kode supplier

Page 16: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

16

Kode barang

Bentuklah tiga tabel dengan kunci tersebut, lihatlah ketergantungan fungsional field field

lain terhadap field kunci, maka didapatkan tabel sebagai berikut:

Field Qty dan Harga pada tabel tersebut tidak bergantung penuh pada kunci primer

nomor nota, ia juga bergantung fungsi pada kode barang. Hal ini disebut sebagai

kebergantungan yang transitif dan haruslah dipisahkan dalam dua tabel.

Masih terdapat redundancy yaitu setiap kali satu nota yang terdiri dari 5 macam

barang yang dibeli maka 5 kali pula dituliskan no nota, tanggal nota, tempo, dan totai.

Ini harus pula dipisahkan bila terjadi penggandaan tulisan berulang ulang.

4. Step IV Bentuk Normal Ketiga

Bentuk normal ketiga mempunyai syarat setiap tabel tidak mempunyai field yang

bergantung transitif, harus bergantung penuh pada kunci utama.

Maka terbentuklah tabel sebagai berikut:

Page 17: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

17

5. Step V Pengujian dengan data contoh

Pengujian disini untuk memastikan kebenaran isi tabel dan hubungan antara tabel tersebut.

Ujilah bahwa setiap tabel haruslah punya hubungan dengan tabel yang lainnya. Bila tidak

ada penghubunga antar tabel maka dapat dikatakan perancangan untuk membuat satu

database adalah gagal.

Page 18: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

18

BAB V

BAHASA QUERY FORMAL

Query adalah suatu objek database yang dapat digunakan untuk menampilkan,

menyunting atau menganalisa suatu data dengan memberikan baris-baris perintah tertentu.

Pada aplikasi ini sudah dilengkapi dengan Structured Query Language (SQL) yang menjadi

standard bahasa dalam mengolah database. Dengan SQL kita dapat mempersingkat penulisan

listing program yang panjang karena pada setiap perintahnya dapat mencakup banyak

perintah sekaligus.

Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari

basis data. Bahasa query relasional formal merupakan bahasa antara yang digunakan basis

data, yaitu SQL dikonversi menjadi bahasa relasional formal sehingga dapat diterapkan

sekumpulan informasi untuk memperoleh query paling efisien.

Terdapat dua jenis bahasa query relasional formal yang utama, yaitu:

1. Aljabar relasional.

2. Kalkulus relasional

Aljabar Relasional

aljabar relasional merupakan kumpulan operasi terhadap relasi dimana setiap operasi

menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk

kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.

Operasi Dalam Aljabar Relasional

Operasi-operasi dasar dalam aljabar relasional adalah sebagai berikut :

1. Operasi selection (σ)

Operasi select berfungsi untuk menyeleksi tuple-tuple yang memenuhi predikat yang

diberikan dari sebuah tabel relasi. Operasi select menyeleksi tuple-tuple yang memenuhi

predikat yang diberikan. Digunakan symbol sigma (σ) untuk menunjukkan operasi select.

Predikat muncul sebagai subcript dari σ. Argumen relasi diberikan dalam kurung yang

mengikuti σ.

Page 19: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

19

2. Operasi projection (π)

Operasi project berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah

tabel relasi. Operasi project disimbolkan dengan symbol phi (π). Nama-nama atribut

yang diinginkan tampil ditulis sebagai subcript π.

3. Operasi cartesian (x)

Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam

2 tabel relasi atau lebih dan menghasilkan sebuah tabel relasi yang baru.

4. Operasi union (U)

A ∪ B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana

terdiri dari himpunan semua tuples yang terdapat pada A atau B atau kedua-duanya.

Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel

relasi dengan nilai atribut dari tabel relasi lainnya.

5. Opersi set – difference (-)

Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel

relasi, tapi tidak ada dalam tabel relasi lainnya. A MINUS B adalah relasi dengan

heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua

tuples yang terdapat pada A, tetapi tidak terdapat pada B.

6. Operasi rename (ρ)

Dalam operasi himpunan Cross – Product, bisa menimbulkan terjadinya Konflik

Penamaan, karena Cross – Product bisa menghasilkan suatu relasi dari 2 relasi dengan

skema yang sama, sehingga skema hasil akan muncul field dengan nama yang sama.

Operator Renaming (r) digunakan untuk menghindari terjadinya Konflik Penamaan

tersebut.

Page 20: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

20

Operasi turunan dalam aljabar relasional adalah sebagai berikut :

1. Operasi set –interface

2. Operasi natural join

3. Operasi theta join

4. Operasi devision

Kalkulus Relasional

Kalkulus relasional adalah bahasa query yang non prosedural. Bahasa ini mendeskripsikan

informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan

informasi tersebut.

Kalkulus relational dibagi menjadi dua :

1. Kalkulus relasional tupel

Mendiskripsikan informasi tanpa perlu memberikan prosedur/cara spesifik untuk memperoleh

infomasi tersebut. konsep dari kalkulus relasional tupel adalah konseb variabel tupel. Dimana

variabel merepresentasikan tupel-tupel padarelasi dan digunakan untuk mengekstrak data dari

relasi. Komponen-komponen lain rumus kalkulus tupel adalah kualifikasi data dengan

membatasi nilai-nilai dari atribut-atribut yang dispesifikasikan.

Query pada kalkulus realsional tupel dapat diekspresikan dengan:

{t|P(t)}

Yaitu himpunaan semua tupel t sehingga predikat P bernilai true untuk t, notasi t[A] untuk

menunjukan nilai tuple t pada atributr A, dan menggunakan t ϵ r untuk menunjukan nilai

tuple t di relasi r. Predikat P adalah berupa rumus, beberapa rumus, beberapa variabel tuple

dapat muncul di rumus.

2. Kalkulus relasional domain

Kalkulus realsional domain menggunakan variable-variable pada nilai-nilai domain atribut,

bukan nilai-nilai untuk sebuah tupel. Ekspresi pada relasional domain berbentuk:

{<X1,X2, ... ,Xn>|P(X1,X2, ... , Xn)}

X1, X2, ... ,Xn menyatakan variable-variable domain.

Page 21: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

21

P menyatakan rumus-rumus yang disusun dari atom-atom.

Berdasarkan acuan model relasional, ada 2 bahasa query kemersial yaitu SQL dan QBE.

Page 22: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

22

BAB VI

BAHASA QUERY KOMERSIAL

Struktur Query Language (Sql)

SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian

pada tahun 1974, D. Chamberlin dan R.F. Boyce mengembangkan bahasa query untuk

memanipulasi dan mengekstraksi data dari basisdata relational.

Sasaran SQL

1. Menciptakan basis data dan struktur relasi

2. Melakukan menajemen data tingkat dasar

3. Membentuk query sederhana dan kompleks

4. Melakukan tugas-tugas dengan seminimal mungkin memakai struktur dan sintaks

perintah relatif mudah dipelajari

5. Harus portabel

Jenis SQL

1. Interactive SQL

2. Static SQL

3. Dynamic SQL

Subdivisi SQL

1. DDL (Data Definition Language)

Query-query ini digunakan untuk mendefinisikan struktur atau skema basis data

2. DML (Data Manipulation Language)

Query-query ini digunakan untuk manajemen data dalam basis data

3. DCL ( Data Control Language)

Query-query ini berhubungan dengan pengaturan hak akses dan wewenang.

Page 23: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

23

Pengelompokan Statemen Sql

1. Data Definition Language (DDL)

CREATE DATABASE DROP DATABASE

CREATE TABEL DROP TABEL

CREATE INDEX DROP INDEX

CREATE VIEW DROP VIEW

ALTER TABLE

2. Data Manipulation Language

INSERT, SELECT, UPDATE, DELETE

3. Data Access

GRANT , REVOKE

4. Data Integrity

RECOVER TABLE

5. Auxiliary

SELECT INTO OUTFILE,

LOAD, RENAME TABLE

Kasus Data Definition Language (DDL)

A. CREATE

1. Pembuatan Database

Nama Database adalah yang dapat mewakili suatu kejadian dapat berupa nama

organisasi atau perusahaan.

Sintaks : CREATE DATABASE nama_database

Contoh : Buat database dengan nama PT.ABC

CREATE DATABASE PT.ABC

2. Pembuatan Tabel

Sintaks : CREATE TABLE nama_table

Page 24: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

24

( nama_kolom1 tipe_data_kolom1,

nama_kolom2,tipe_data_kolom2,….)

Contoh :

Buat struktur tabel dengan nama tabel MHS dengan data NIM char(8), NAMA

char(25), ALAMAT char(30)

CREATE TABLE MHS (NIM char(8) not null,

NAMA char(25) notnull, ALAMAT char(30) notnull)

3. Pembuatan Index

Sintaks : CREATE [UNIQUE] INDEX nama_index

ON nama_table (nama_kolom) ;

Contoh :

Buat index data mahasiswa berdasarkan NIM dengan nama MHSIDX Dimana NIM

tidak boleh sama

CREATE UNIQUE INDEX MHSIDX ON MHS(NIM)

4. Pembuatan View

Sintaks :

CREATE VIEW nama_view [ (nama_kolom1,….) ]

AS SELECT statement

[WITH CHECK OPTION] ;

Contoh :

Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa

CREATE VIEW MHSVIEW

AS SELECT * FROM MHS

B. DROP (MENGHAPUS)

1. Menghapus Database

Sintaks : DROP DATABASE nama_db ;

Page 25: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

25

2. Menghapus Tabel

Sintaks : DROP TABLE nama_table ;

3. Menghapus Index

Sintaks : DROP INDEX nama_index ;

4. Menghapus View

Sintaks : DROP VIEW nama_view ;

Contoh :

DROP DATABASE Mahasiswa;

DROP TABLE MHS;

DROP INDEX MHSIDX;

DROP VIEW MHSVIEW;

C. ALTER TABLE (MERUBAH STRUKTUR TABEL)

Sintaks : ALTER TABLE nama_tabel

ADD nama_kolom jenis_kolom

[FIRST | AFTER nama_kolom]

CHANGE [COLUMN] oldnama newnama

MODIFY nama_kolom jenis kolom, …

DROP nama_kolom

RENAME newnama_tabel

Contoh :

1. Tambahkan kolom JKEL dengan panjang 1 char pada tabel MHS

ALTER TABLE MHS ADD JKEL char(1);

2. Ubah panjang kolom MTKULIAH menjadi 30 char

ALTER TABLE MKUL MODIFY COLUMN MTKULIAH char(30);

3. Hapus kolom JKEL dari data table MHS

ALTER TABLE MHS DROP JKEL;

Page 26: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

26

Data Manipulation Language (DML)

1. INSERT

Sintaks : INSERT INTO Nama_tabel [(nama_kolom1,…)]

Contoh :

Masukan data matakuliah Berkas Akses dengan kode KK222 dan besarnya 2

INSERT INTO MKUL VALUES(“KK222”,”Berkas Akses”, 2);

2. UPDATE

Sintaks : UPDATE nama_tabel

SET nama_kolom = value_1

WHERE kondisi ;

Contoh :

Ubah alamat menjadi “Depok” untuk mahasiswa yang memiliki NPM “50096487”

UPDATE MHS

SET ALAMAT=”Depok”

WHERE NPM=”50096487”;

DELETE

Sintaks : DELETE FROM nama_table

WHERE kondisi

Contoh :

Hapus data nilai matakuliah “KK021” bagi mahasiswa yang mempunyai NPM “

10296832”

DELETE FROM NILAI

WHERE NPM=”10296832” AND KDMK=”KK021”

. SELECT

Sintaks : SELECT [DISTINCT | ALL] nama_kolom

FROM nama_tabel

[ WHERE condition ]

[ GROUP BY column_list ]

[HAVING condition ]

[ ORDER BY column_list [ASC | DESC]]

Page 27: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

27

Contoh :

a. Tampilkan semua data mahasiswa

SELECT NIM,NAMA,ALAMAT FROM MAHASISWA;

Atau

SELECT * FROM MAHASISWA;

Page 28: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

28

BAB VII

FRAGMENTASI DATA

Merupakan sebuah proses pembagian atau pemetaan database dimana database dipecah-

pecah berdasarkan kolom dan baris yang kemudian disimpan didalam site atau unit komputer

yang berbeda dalam suatu jaringan data, sehingga memungkinkan untuk pengambilan

keputusan terhadap data yang telah terbagi.

Secara umum proses fragmentasi ini dibagi kedalam tiga jenis, yaitu:

1. Fragmentasi horizontal

Fragmentasi horizontal ini terjadi ketika suatu data yang berada pada suatu table

dipisah ke dalam beberapa table yang lain. Tabel-tabel yang lain tersebut mempunyai

struktur yang sama persis dengan table yang asli. Fragmentasi horizontal dibagi menjadi

dua yaitu:

a. Primary horizontal fragmentation

Merupakan horizontal fragmentation dimana suatu data dalam table secara horizontal

dipecah berdasarkan pada suatu nilai dalam satu atau lebih kolom tertentuk

b. Derived horizontal fragmentation

Merupakan suatu teknik horizontal fragmentation dimana data yang berada pada suatu

table secara horizontal dipecah ke dalam beberapa table yang lain, dengan kriteria data

yang dimasukan tergantung apakah data tersebut berelasi yang dengan data yang berada

di dalam table yang dipecah secara primary horizontal fragmentation atau tidak

2. Fragmentasi vertical

Merupakan suatu teknik fragmentasi data dimana data dipecah kedalam beberapa table

yang merupakan hasil pemisahan beberapa kolom yang berada pada table utama. Tabel

yang difragmentasi secara vertical harus dapat dikembalikan lagi seperti semula

(reconstruct)

3. Fragmentasi hybrid

Merupakan gabungan antara fragmentasi horizontal dan fragmentasi vertikal

Page 29: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

29

Fungsi Fragmentasi :

1. Penggunaan

2. Efisiensi

3. Paralleslisme

4. Keamanan

Kerugian fragmentasi yaitu :

Kinerja yang dapat turun karena data tersebar dan butuh proses untuk penggabungan kembali

Integritas yang dapat terganggu dikarenakan kegagalan pada salah satu site database server.

CONTOH KASUS JENIS-JENIS FRAGMENTASI

Ujian (NIM,Nama_Mhs,Kode_MK,Mt_Kuliah,Nil_Akhir,Grade)

Page 30: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

30

Fragmentasi Horisontal terbagi menjadi 3 fragment yang

berbeda berdasarkan Mt_Kuliah

1. Relasi Mt_Kuliah=“Sistem Basis Data”

Mt_Kuliah=“Sistem Basis Data” (Ujian)

2. Relasi Mt_Kuliah=“Peranc. Sistem”

Mt_Kuliah=“Peranc. Sistem” (Ujian)

3. Relasi Mt_Kuliah=“Visual Basic”

Mt_Kuliah=“Visual Basic” (Ujian)

Page 31: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

31

Fragment di atas memenuhi kondisi jika Nama_Mhs dan Mt_Kuliah adalah hal-hal

yang memenuhi syarat

Fragmentasi vertical:berdasarkan dekomposisi-nya dengan menambahkan tupel id

Relasi 1 = NIM, Nama_Mhs, Mt,Kuliah, Nil_Akhir, Grade, Tuple_ID

p NIM,Nama_Mhs,Mt,Kuliah,Nil_Akhir,Grade,Tuple_ID (UJian)

Page 32: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

32

Relasi 2 = NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID

p NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID (Ujian)

Terdapat relasi berdasarkan Mata Kuliah yang sama Relasi 1a.

p NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID(s Mt_Kuliah=“Sistem Basis

Data” (Ujian))

Relasi 1b.

p NIM, Nama_Mhs, Mt_Kuliah, Nil_Akhir, Grade, Tuple_ID(s

Mt_Kuliah=“Peranc.Sistem” (Ujian))

Page 33: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

33

Relasi 1c

p NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID(s Mt_Kuliah=“Visual Basic”

(Ujian))

Bagaimana bentuk database untuk data yang telah mengalami proses fragmentasi?

Fragmentasi data merupakan langkah yang diambil untuk menyebarkan data dalam database

terdistribusi . Selanjutnya akan dibahas apa yang dimaksud Database terdistribusi.

Database Terdistribusi

Yaitu kumpulan data yang digunakan bersama yang saling terhubung secara logik tetapi

tersebar secara fisik pada suatu jaringan komputer.Karakteristik Database terdistribusi, yaitu :

1. Kumpulan data yang digunakan bersama secara logik tersebar pada sejumlah komputer

yang berbeda

2. Komputer yang dihubungkan menggunakan jaringan komunikasi

3. Data pada masing-masing situs dapat menangani aplikasiaplikasi lokal secara otonom

4. Data pada masing situs dibawah kendali satu DBMS

5. Masing-masing DBMS berpartisipasi dalam sedikitnya satuaplikasi global

Page 36: PERANCANGAN BASIS DATA · KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE Data Base (basis data) merupakan kumpulan data yang saling berhubungan. ... Data value yaitu data aktual

36

e. Star network

Keuntungan Dan Kerugian Database Terdistribusi

KEUNTUNGAN :

1. Secara alami mengikuti struktur organisasi

2. Adanya otonomi lokal

3. Sifatnya dapat dipakai secara bersama

4. Peningkatan ketersediaan

5. Peningkatan kehandalan

6. Peningkatan kinerja

7. Ekonomis

8. Pertumbuhan yang modular

KERUGIAN :

1. Harga software mahal (Biaya)

2. Kompleksitas

3. Kelemahan dalam keamanan

4. Sulitnya menjaga keutuhan data

5. Kurangnya standar

6. Kurangnya pengalaman

7. Perancangan basisdata lebih kompleks