Modul SistemBasisData
Modul SistemBasisData
Alhamdulillah, pertama penulis mengucapkan rasa syukur dan segala puji bagi Allah
SWT yang telah melimpahkan segala Rahmat dan KaruniaNYA, sehingga modul
Sistem Basis Data ini dapat diselesaikan. Modul Sistem Basis Data ini diharapkan
dapat mendukung mahasiswa dalam memahami matakuliah Sistem Basis Data. Modul
ini dibuat berdasarkan sumber-sumber yang sudah banyak digunakan. Pada modul ini
membahas mengenai konsep Sistem Basis Data secara umum. Modul ini membahas
mengenai Konsep Dasar Basis Data (Database), DBMS & Perancangan Basis Data,
Model Data, Entity Relationship Diagram (ERD), Normalisasi, Bahasa Query Formal,
Bahasa Query Terapan, Bahasa Query Terapan lanjutan, Basis Data Terdistribusi,
Basis Data. Akhir kata, penulis menyampaikan terimakasih yang tulus kepada pihak-
pihak yang telah memberikan bantuan dan dukungannya sehingga penulis dapat
menyelesaikan penulisan modul ini. Pada akhir kata, penulis memohon maaf yang
sebesar-besarnya jika dalam penulisan modul ini masih banyak kekurangan dan
kelemahannya. Penulis memohon adanya sumbangan ide, kritik dan saran untuk
ii
DAFTAR ISI
KATA PENGANTAR.................................................................................................ii
DAFTAR ISI...............................................................................................................iii
BAB I KONSEP DASAR BASIS DATA (DATABASE)...........................................1
1.1Pengenalan Basis Data (Database)....................................................................1
1.2Konsep Dasar Basis Data...................................................................................3
1.3Operasi Dasar Basis Data..................................................................................5
1.4Sistem Basis Data................................................................................................6
1.5Data Base Management System (DBMS)..........................................................8
1.6Komponen Sistem Basis Data............................................................................9
1.7Komponen Sebuah DBMS...............................................................................11
1.8Keuntungan dan Kekurangan DBMS............................................................17
BAB II BASIS DATA RELATIONAL & PERANCANGAN BASIS DATA........18
2.1Basis Data Relational........................................................................................18
2.2Perancangan Basis Data...................................................................................27
2.3Studi Kasus........................................................................................................29
BAB III MODEL DATA...........................................................................................41
BAB IV ENTITY RELATIONSHIP DIAGRAM (ERD)......................................51
4.1Pengertian Entity Relationship Diagram (ERD)............................................51
4.2Komponen ERD...............................................................................................52
4.3Kardinalitas / Derajat Relasi...........................................................................57
4.4Tahapan Pembuatan ERD...............................................................................60
4.5Logical Record Structured (LRS)....................................................................60
4.6Membuat ERD..................................................................................................63
BAB V TEKNIK NORMALISASI..........................................................................58
5.1Pengertian Normalisasi....................................................................................58
5.2Anomaly.............................................................................................................60
5.3Atribut dan Ketergantungan Fungsi..............................................................61
5.4Bentuk Normalisasi..........................................................................................63
BAB VI TEKNIK NORMALISASI LANJUTAN..................................................64
6.1Langkah-Langkah Pembuatan Normalisasi..................................................64
6.2Studi Kasus........................................................................................................67
BAB VII BAHASA QUERY FORMAL..................................................................72
7.1Pengertian Bahasa Query Formal...................................................................72
7.2Operator Aljabar Relational...........................................................................73
BAB VIII BAHASA QUERY TERAPAN...............................................................85
8.1 Structured Query Language (SQL)............................................................85
BAB IX BAHASA QUERY TERAPAN LANJUTAN.........................................103
BAB X BASIS DATA TERDISTRIBUSI..............................................................114
10.1 Pengertian Basis Data Terdistribusi.......................................................114
10.2 Topologi Distribusi Data..........................................................................115
10.3 Keuntungan dan Kerugian Basis Data Terdistribusi............................118
10.4 Fragmentasi Data......................................................................................119
BAB XI PERANCANGAN DAN IMPLEMENTASI MENGGUNAKAN DB
DESIGNER..............................................................................................................127
BAB XII LINGKUNGAN BASIS DATA..............................................................137
12.1 Konkurensi (CONCURRENCY)..............................................................137
12.2 Locking.......................................................................................................139
12.3 Timestamping.............................................................................................141
12.4 Crass dan Recovery....................................................................................142
12.5 Security.......................................................................................................143
12.6 Pemberian wewenang dan view...............................................................144
12.7 Integrity......................................................................................................145
DAFTAR PUSTAKA..............................................................................................146
iv
BAB I
Data merupakan sesuatu hal yang sangat penting dalam kehidupan manusia.
Hal ini tidak dapat dipungkiri, karena setiap harinya kita selalu memerlukan dan
apapun, dan mengambil keputusan dalam kehidupan kita. Sebagai contoh, Mahasiswa
pastinya memerlukan data antara lain nilai tugas, nilai ujian tengah semester, nilai
ujian akhir semester, nilai indeks prestasi sementara, nilai indeks prestasi kumulatif,
biaya kuliah, jadwal kuliah serta data-data yang lainnya yang berkaitan dengan
kegiatan perkuliahan.
organisasi terhadap data yang diperlukan bagi kepentingan bisnisnya? Saat ini, baik
perusahaan kecil sampai perusahaan besar, pada umumnya telah memiliki informasi
dan aplikasi, yang sangat memerlukan data. Artinya, antara sistem informasi dengan
data memiliki hubungan yang sangat erat dan tidak dapat dipisah-pisahkan satu sama
lainnya. Hal yang penting yang perlu diperhatikan adalah jika kita berbicara
mengenai data, maka akan muncul istilah database atau basis data.
Basis data (database) dapat dibayangkan sebagai sebuah almari arsip. Jika kita
memiliki sebuah lemari arsip dan bertugas untuk mengelolanya, maka kemungkinan
besar kita akan melakukan hal-hal seperti : memberi map pada kumpulan arsip,
1
2
memberi penomoran dengan pola tertentu yang nilainya unik pada setiap map, lalu
hal-hal tersebut tidak seluruhnya dilakukan, paling tidak, semua lemari arsip
Yang paling sederhana, tentu menyusun arsip-arsip tadi sesuai kronologisnya dan
tanpa pengelompokkan. Hampir tidak akan pernah kita jumpai adanya lemari arsip
Mengapa hal-hal itu kita lakukan? Jawabannya sederhana : kita berharap agar
pada suatu saat nanti, sewaktu kita bermaksud untuk mencari dan mengambil arsip
dari lemari maka kita akan dapat melakukannya dengan mudah dan cepat
(Fathansyah, 2012). Basis Data (Database), pada saat ini sangat berdampak besar
pada perkembangan ekonomi dan masyarakat. Sistem basis data berkaitan penting
kerangka kerja yang mendasari sistem informasi dan secara mendasar merubah cara
banyak organisasi beroperasi. Contoh Penggunaan Basis Data pada aplikasi: aplikasi
diakses. Petugas akan memasukkan kode buku atau menggunakan mesin pembaca,
mesin ini dihubungkan dengan aplikasi database barang untuk mengetahui data buku
tersebut. Aplikasi itu kemudian akan mengurangi jumlah stok buku tersebut dan
menampilkan jumlah stok yang ada kepada petugas. Jika jumlah stok buku yang ada
sudah di bawah ambang batas bawah stok, maka sistem database akan secara
otomatis
3
Atau, jika pembaca menanyakan ketersediaan sebuah buku , maka petugas bisa
Gambar I.1
Contoh Penggunaan Basis Data – Peminjaman Buku Pada Perpustakaan
Gambar diatas merupakan file-file yang disimpan dalam basis data pada
harddisk. Basis data Perpustkaan berisi beberapa file atau tabel seperti Tabel Buku,
b. Lebih khusus lagi, data adalah ukuran objektif dari atribut (karakteristik)
Basis data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan
yang sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan utamanya
Perbedaannya hanya terletak pada media penyimpanan yang digunakan, jika lemari
dari besi atau kayu sebagai media penyimpanan, maka basis data menggunakan media
Hal ini merupakan konsekuensi yang logis, karena lemari arsip langsung
dikelola oleh manusia, sementara basis data dikelola melalui mesin pinter elektronis
(komputer). Yang sangat ditonjolkan dalam basis data adalah pengaturan, pemilahan,
pengelompokkan, pengorganisasian data yang akan disimpan sesuai dengan fungsi atau
tabel terpisah atau dalam bentuk pendefinisian kolom-kolom (field) dalam setiap tabel.
Seperti contoh Gambar I.1, Basis data Perpustakaan berisi beberapa tabel didalamnya,
yaitu tabel Anggota, tabel Buku, tabel Peminjaman dan tabel Pengembalian.
Di dalam sebuah disk, kita dapat menempatkan beberapa (lebih dari satu) basis
data. Sementara dalam sebuah basis data, kita dapat menempatkan satu atau lebih
tabel. Pada tabel ini sesungguhnya data disimpan dan ditempatkan. Setiap basis data
umumnya dibuat untuk mewakili sebuah semesta data yang spesifik. Misalnya ada
basis data kepegawaian, basis data akademik, basis data inventori, dan sebagainya.
Karena itu, operasi-operasi dasar yang dapat kita lakukan berkenaan dengan
1. Pembuatan basis data baru (create database), yang identik dengan pembuatan
3. Pembuatan tabel baru ke suatu basis data (create table), yang identik dengan
4. Penghapusan tabel dari suatu basis data (drop table), yang identik dengan
5. Penambahan atau pengisian data baru ke sebuah tabel di sebuah basis data
(insert), yang identik dengan penambahan lembaran arsip ke sebuah map arsip
6. Pengambilan data dari sebuah tabel (query), yang identik dengan pencarian
7. Pengubahan data dari sebuah tabel (update), yang identik dengan perbaikan isi
8. Pengahpusan data dari sebuah tabel (delete), yang identik dengan penghapusan
terdiri atas sejumlah komponen fungsional (dengan satuan fungsi dan tugas khusus)
yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu
proses tertentu. Sebuah kendaraan dapat mewakili sebuah sistem yang terdiri atas
menghentikan
7
Basis data hanyalah sebuah objek yang pasif. Ia ada karena ada pembuatnya. Ia
tidak akan pernah berguna jika tidak ada penegelolanya atau penggeraknya. Yang
sistem. Karena itu, secara umum menurut (Fathansyah, 2012), Sistem Basis Data
merupakan sistem yang terdiri atas kumpulan tabel data yang saling berhubungan
(dalam sebuah basis data di sebuah sistem computer) dan sekumpulan program (yang
beberapa pemakai dan atau program lain untuk mengakses dan memanipulasi tabel-
tabel tersebut.
Gambar I.2
Sistem Basis Data
8
mengelola basis data relational disebut dengan Relational DBMS (RDBMS ) Contoh
MySQL, dll.
Gambar I.3
Contoh Komputer Mengakses Database
mengakses sebuah database : Database menampung semua data, dimulai dari anggota,
data buku sampai dengan data transaksi peminjaman dan pengembalian, Sehingga
anggota dapat melihat data buku yang tersedia dalam perpustakaan begitu pula anggota
dapat melihat buku apa saja yang sudah dipinjam dan waktu pengembaliannya. Begitu
Menurut (Fathansyah, 2012), dalam sebuah basis data, secara lengkap akan
Perangkat keras yang biasanya terdapat dalam sebuah sistem basis data adalah
a. Komputer (satu untuk sistem stand alone atau lebih dari satu untuk sistem
jaringan)
c. Memori sekunder yang off line (Tape atau removable disk) untuk
file, dan lain-lain). Sejumlah sistem operasi yang banyak digunakan seperti :
Sebuah sistem basis data dapat memiliki beberapa basis data. Setiap basis data
berisi sejumlah objek basis data (seperti tabel, indeks, dan lain-lain).
Pengelolaan basis data secara fisik tidak dilakukan oleh pemakai secara
langsung, tetapi ditangani oleh sebuah perangkat lunak (sistem) yang khusus.
Perangkat lunak inilah (disebut DBMS) yang akan menentukan bagaimana data
5. Pemakai (User)
Ada beberapa jenis atau tipe pemakai terhadap suatu sistem basis data yang
a. Programmer Aplikasi
dalam bahasa pemrograman induk (seperti C, C++, Pascal, PHP, Java, dan
lain-lain).
Mereka menyatakan query (untuk akses data) dengan bahasa query yang
disediakan sebelumnya.
11
Pemakai yang meulis aplikasi basis data non konvensional, tetapi untuk
Sistem Pakar, Pengolahan citra, dan lain-lain, yang bias saja mengakses
Aplikasi (perangkat lunak) ini bersifat optional. Artinya, ada atau tidaknya
Gambar I.4
Komponen DBMS
menjadi :
menggunakan mesin.
untuk bias bekerja dan berfungsi dengan baik. Perangkat keras tersebut dapat
berupa Personal Computer (PC) yang stand alone sampai kepada suatu
Beberapa DBMS hanya bias dijalankan pada beberapa perangkat keras dan
Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri
lunak jaringan. Jika DBMS tersebut digunakan pada suatu jaringan dan
lain-lain.
3. Data
Data merupakan komponen yang sangat penting dalam sebuah DBMS. Basis
Data terdiri dari data-data operasional dan meta data (data mengenai data).
Struktur basis data dinamakan skema. Data didalam basis data mempunyai
sifat
13
berkas data yang ada pada basis data daling terkait, tetapi kemubaziran data
tidak akan terjadi atau hanya terjadi sedikit sekali. Sedangkan berbagi data
berarti bahwa data dapat dipakai oleh sejumlah pengguna. Artinya sesuatu data
Gambar I.5
Contoh Komputer Mengakses Basis Data
Skema :
4. Procedure (Prosedur)
dari sistem dan staff yang akan mengatur dan merancang basis data
berisi tentang
14
a. Log on ke DBMS.
5. People (Pengguna/User)
berlaku
database.
b. Database Designer
Dalam suatu proyek basis data yang besar dan kompleks kita dapat
entitas dan atribut), kardinalitas relasi dari data tersebut dan bagaimana
meliputi:
membuat berbagai fungsi dan prosedur dalam sistem komputer yang akan
d. End User
memasukkan
17
2. Konsistensi data
4. Sharing data
6. Peningatan keamanan
1. Kompleksitas
2. Ukuran
3. Biaya DBMS
18
6. Performa
Basis data relasional adalah basis data yang mempresentasikan data dalam
bentuk tabel-tabel, dimana tabeltabel tersebut dihubungkan oleh nilai-nilai yang sama/
model basis data relasional sering pula disebut dengan model relasional atau basis data
relasional. Model basis data ini diperkenalkan pertama kali oleh E.F. Codd. Model
basis data menunjukkan suatu mekanisme yang digunakan untuk mengorganisasi data
secara fisik dalam disk yang akan berdampak pula pada bagaimana kita
mengelompokkan dan membentuk keseluruhan data yang berterkait dalam sistem yang
merupakan kumpulan sejumlah berhingga relasi. Basis data relasional juga merupakan
Untuk mengilustrasikan Basis data relasional secara lebih nyata, berikut ini
kita ambil sebuah contoh basis data sederhana yang berkaitan dengan perpustakaan.
Kita sebut saja basis data tersebut sebagai Basis Data Perpustakaan. Basis Data
Perpustakaan terdiri dari empat tabel, yaitu tabel Anggota, tabel Buku, tabel
18
19
Peminjaman dan tabel Pengembalian. Basis data perpustakaan memiliki skema sebagai
berikut :
Gambar 2.1
Skema Tabel
Skema :
c. Tabel Peminjaman : Kode pinjam (5), tgl pinjam (date), kode anggota (3)
d. Tabel Pengembalian : Kode kembali (5), tgl kembali (date), kode anggota
(3)
29
a. Tabel
Tabel memiliki nama dan terdiri atas baris dan kolom. Tabel pada suatu
basis data tidak boleh memilki nama yang sama (unik). Tabel disebut juga
dengan Relation atau File. Pada gambar diatas terdiri dari 4 tabel yaitu,
berikut:
1) Nama relasi yang digunakan dalam suatu basis data haruslah berbeda
bernilai tunggal.
4) Semua nilai dari suatu atribut haruslah berasal dari domain yang sama.
8) Semua elemen data pada suatu kolom tertentu dalam relasi yang sama
b. Kolom/Atribut
Kolom memiliki nama. Kolom yang terdapat dalam suatu tabel tidak boleh
memiliki nama yang sama. Urutan nama boleh sembarang dan tidak
21
mempengaruhi makna dari tabel. Nama lain kolom adalah Field atau
Atribut. Pada gambar diatas, contoh kolom pada tabel Buku yaitu kode
c. Baris/Tuple
Berisikan data dari sebuah objek. Baris pada sebuah tabel harus unik, dapat
diletakkan dalam urutan bebas dan tidak mempengaruhi makna dari tabel.
Baris disebut juga dengan Record atau tuple. Pada slide diatas tabel
d. Domain
Domain adalah sekumpulan nilai-nilai yang dapat disimpan pada satu atau
lebih kolom. Sebuah domain bisa dimiliki oleh satu kolom atau lebih,
membatasi dan mengatur nilai yang dapat disimpan maka disebut domain
constraint. Pada gambar diatas, kolom yaitu kode anggota hanya berisi 3
3. Relational Keys
Relational Keys adalah identifikasi satu atau sekelompok kolom yang nilainya
2005), menyampaikan bahwa Key adalah elemen record yang dipakai untuk
menemukan record tersebut pada waktu akses, atau bias juga digunakan untuk
a. Superkey
Adalah satu atau kelompok kolom yang nilainya secara unik membedakan
Pada gambar diatas di masing-masing tabel terdapat lebih dri satu superkey,
yaitu :
1) Tabel anggota :
2) Tabel buku :
b. Candidate Key
Adalah superkey di mana tidak ada satupun himpunan bagian dari superkey
key. Candidate key yang terdiri dari dua kolom atau lebih disebut sebagai
1) Tabel anggota :
key
b) Tabel buku :
key
2) Tabel Peminjaman :
3) Tabel Buku :
candidate key
4) Tabel pengembalian
c. Primary Key
Adalah (satu) candidate key yang dipilih (di antara candidate key lain)
untuk membedakan tuple-tuple scara unik dalam tabel. Jika dalam satu
tabel hanya terdapat satu candidate key (misal tabel anggota dan tabel
buku), maka key tersebut menjadi primary key. Tetapi jika terdapat lebih
dari satu candidate key (misal tabel penjualan dan tabel pengembalian),
maka salah satu candidate key tersebut dpat dijadikan primary key.
d. Alternate Key
Adalah candidate key yang tidak dijadikan sebagai primary key. Misal
pada tabel pengembalian jika kita memilih kode kembali sebagai primary
e. Foreign Key
Adalah satu atau kelompok kolom yang nilainya sama atau terkait dengan
candidate key pada tabel lain atau pada tabel yang sama. Misal pada tabel
anggota, maka kode anggota adalah foreign key. Kolom-kolom yang saling
terkait ini sangat penting dalam operasi join. Pada tabel pengembalian ada
kolom kode pinjam yang terhubung dengan tabel peminjaman, maka kode
4. Skema tabel
Adalah informasi dasar yang mendeskripsikan tabel yang terdiri atas nama tabel
Contoh :
Skema Tabel Peminjaman (kode pinjam, tgl pinjam, tgl kembali, juml, kode
yang berbeda.
Contoh : Skema Basis Data Perpustakaan : Tabel anggota (kode anggota, nama)
, Tabel buku (kode buku, judul, stok buku), Tabel peminjaman (kode pinjam,
26
tgl pinjam, kode buku, tgl kembali, kode anggota, juml) dan Tabel
6. Integrity Constraint
empat contraints/batasan lain yang menjaga integritas data yang disimpan pada
basis data :
a. Null
Adalah nilai pada suatu kolom (tuple) masih belum diketahui (unknown).
Ini bisa berarti nilai tersebut tidak dapat diterapkan pada kolom tersebut.
Namun, null tidak sama dengan nilai numerik nol atau string “-”; nol dan
spasi adalah nilai, tetapi null menunjukkan tidak adanya nilai. Misal dalam
sebuah tabel ada sebuah data yang belum diketahui boleh dituliskan null,
akan tetapi hal tersebut tidak berlaku untuk primary key. Karena kolom
primary key bersifat unik, jika primary key menyimpan null maka sifat
unik dari kolom tersebut akan hilang karena bisa saja beberapa tuple
b. Entity integrity
c. Referential integrity
Adalah batasan yang menyatakan jika suatu tabel memiliki kolom foreign
key maka nilai pada foreign key tersebut harus sesuai dengan nilai kolom
27
candidate key dan jika tidak demikian maka foreign key dapat dituliskan
1) Pada saat kolom tersebut diberikan batasan tidak boleh diberikan null.
2) Pada saat kolom tersebut juga merupakan bagian dari primary key.
d. General constraints
organisasi. Contoh :
Gambar 2.2
Tahap Analisis dan Perancangan
tetapi tidak bergantug pada DBMS tertentu dan implementasi fisik basis
data.
dasar, organisasi file, indeks untuk mendapatkan ases data secara efisien,
2. Tahap Implementasi
terpilih.
mahasiswa dan masyarakat yang didirikan oleh Walikota Jakarta Barat. Keberadaan
Prosesnya :
1. Setiap calon anggota yang akan menjadi anggota harus mengisi formulir
diantaranya. Diantaranya :
denda terlampir)
MODEL DATA
data dapat juga kita tempuh dengan secara langsung membuat sebuah model dari awal
sekali. Langkah ini biasanya ditempuh dari kelangkaan data/fakta yang kita miliki. Di
sisi lai, sebuah model dinyatakan dalam bentuk diagram awal akan lebih mudah untuk
mendapatkan sebuah model data yang lebih permanen dan lebih mendekati kenyataan
sesungguhnya.
(makna) data dan batasan data. Oleh karena yang ingin ditunjukkan adalah makna dari
data dan keterhubungannya dengan data lain, maka model data ini lebih tepat jika
adalah sesuatu apa saja yang ada didalam sistem, nyata maupun abstrak
dimana data tersimpan atau dimana terdapat data. Entitas diberi nama
41
42
dengan kata benda dan dapat dikelompokkan dalam empat jenis nama,
objek set ke objek set yang lain. Relationship adalah hubungan alamiah
yang terjadi antara entitas. Model data berbasi objek memiliki beberapa
Model / ER Model)
Atribut/Properti.
43
pinjam, tgl pinjam, kode buku, kode anggota, juml, tgl kembali).
Tabel III.1
Simbol Dasar Entity Relationship Diagram
Menyatakan Himpunan Entitas
digaris bawahi)
44
Penghubung/Link
c) Mapping Kardinalitas
Contoh :
Gambar III.1
Relasi one to one
Gambar III.2
Relasi one to many
Gambar III.3
Relasi many to many
2) Model Berorientasi Object (Object-Oriented Model )
Gambar III.4
Model Berorientasi Object
2018):
a) Structural Diagram
aplikasi.
b) Behaviour Diagram
sebuah sistem atau proses bisnis atau menu yang ada pada
perangkat lunak.
Tabel III.2
Simbol Model Data Semantik
Menujukkan adanya relasi
Menunjukkan atribut
Contoh :
Gambar III.5
Contoh Model Data Semantik
48
Perbedaan dengan model data berbasis objek adalah pada record based
implementation)
1) Model Relational
Gambar III.6
Contoh Model Data Relational
2) Model Hirarki
Contoh :
Gambar III.7
Contoh Model Data Hirarki
50
3) Model Jaringan
Contoh :
Gambar III.8
Contoh Model Data Jaringan
BAB IV
(ERD) adalah bentuk paling awal dalam melakukan perancangan basis data
diperlukan.
dengan pemakai eksekutif tingkat tinggi dalam suatu organisasi. Pemakai ini lebih
51
52
Gambar IV.1
Komponen ERD
1. Entitas
Entitas adalah suatu kumpulan object atau sesuatu yang dapat dibedakan atau
disebut dengan entity set. Entity Set terbagi menjadi dua, yaitu :
Yaitu entity set yang satu atau lebih atributnya digunakan oleh entity set
adalah sebuah entity set dengan atribute-atribute a1, a2,..,an, maka entity
Yaitu Entity set yang bergantung terhadap strong entity set. Digambarkan
set
53
dari atribute-atribute a1, a2, .., ar dan B adalah strong entity set dengan
atribute
Contoh :
Gambar IV.2
Contoh Strong dan Weak Entity Set
2. Atribut
Jenis-jenis atribut :
a. Atribut Kunci
unik
b. Atribut simple
entity.
Contoh : Pada gambar dibawah ini, yang menjadi atribut key adalah NIP.
Tgl Lahir dan Nama adalah atribut simple. Sedangkan Gelar merupakan
Gambar IV.3
Contorh Atribut Key, Simple dan Multivale
d. Atribut Composit
Merupakan suatu atribut yang terdiri dari beberapa atribut yang lebih
pegawai yang terdiri dari nama depan, nama tengah dan nama belakang.
Gambar IV.4
Contoh Atribut Composit
e. Atribut Derivatif
umur yang merupakan hasil kalkulasi antara Tgl Lahir dan tanggal hari ini.
55
Tgl Lahir.
Gambar IV.5
Contoh Atribut Derivatif
3. Relationship
Relationship merupakan hubungan yang terjadi antara satu entitas atau lebih.
b. Partial participation
penghubung.
Contoh :
56
Gambar IV.6
Contoh Jenis Participation Constrain
4. Indicator Type
Indicator tipe asosiatif object berfungsi sebagai suatu objek dan suatu
relationship. Contoh :
Gambar IV.7
Contoh Indicator Asosiatif Object
Indicator tipe super tipe, terdiri dari suatu object dan satu subkategori
atau lebih yang dihubungkan dengan satu relationship yang tidak bernama.
Contoh :
57
Gambar IV.7
Contoh Indicator Supert type
maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain.
paling banyak dengan satu entitas pada himpunan entitas B, dan begitu
Contoh :
Gambar IV.8
Contoh One to One
58
Pada relasi ini, setiap dosen paling banyak mengepali satu jurusan (walaupun
memang tidak semua dosen yang menjadi ketua jurusan). Dan setiap jurusan
dengan paling banyak dengan satu entitas pada himpunan entitas B, tetapi
Contoh :
Gambar IV.9
Contoh One to Many
Pada relasi ini, setiap dosen dapat mengajar lebih dari satu matakuliah,sedang
setiap matakuliah diajar hanya oleh paling banyak satu orang dosen.
Contoh :
Gambar IV.10
Contoh Many to Many
Pada relasi diatas setiap pemesanan bias berisi banyak barang dan setiap
Gambar IV.11
Contoh Many to Many
Pada ERD yang baru ini, muncul entitas yang baru yaitu
beirkut :
3. Identifikasi dan tetapkan seluruh himpunan relasi antar himpunan entitas yang
5. Lengkapi himpunan entitas dan himpunan relasi dengan atribut bukan kunci.
1. One To One
Contoh :
Gambar IV.12
Contoh One To One
hanya bisa mengemudikan 1taksi, dan 1 taksi hanya bisa dikemudikan oleh 1
Gambar IV.13
Contoh LRS
2. One To Many
Contoh :
Gambar IV.14
Contoh One to Many
bisa membimbing banyak Kelas, dan 1 Kelas hanya dibimbing oleh 1 Dosen.
Gambar IV.15
Contoh LRS
3. Many To Many
Contoh :
Gambar IV.16
Contoh Many to Many
Mahasiswa bisa belajar banyak Mata Kuliah, dan 1 Mata Kuliah bisa
Gambar IV.17
Contoh LRS
63
4. Mengisi kardinalitas
7. Tentukan attribute-attribute
Contoh :
mempunyai pengawas dan setidaknya satu pegawai. Pegawai harus ditugaskan pada
paling tidak satu bagian, tetapi dapat pula beberapa bagian. Paling tidak satu pegawai
mendapat tugas sebuah proyek. Namun, seorang pegawai dapat libur dan tidak
Deskripsi Permasalahan :
Gambar IV.18
Hasil Langkah kedua
Gambar IV.19
Hasil Langkah ketiga
65
Gambar IV.20
Hasil Langkah keempat
Karena ada dua relasi many-to-many pada ERD sementara, yaitu antara Bagian dan
Pegawai, serta Pegawai dan Proyek. Oleh karena itu dibuatkan entitas baru yaitu
Nama Bagian dan Nomor Pegawai. Kunci utama Pegawai-Proyek adalah gabungan
Gambar IV.21
ERD berdasarkan Kunci
Gambar IV.22
Hasil Langkah ketujuh
67
Gambar IV.23
Transformasi ERD ke LRS
Gambar IV.18
LRS yang Terbentuk
BAB V
TEKNIK NORMALISASI
Entity Relationship (model ER), dimana kelompok-kelompok data dan relasi antar
kelompok data tersebut diwujudkan dalam bentuk diagram. Hal itu tidak salah, karena
desain lojik basis data relasional yang tidak secara langsung berkaitan dengan model
data, tetapi dengan menerapkan sejumlah aturan dan kriteria standar untuk
didasari oleh transformasi secara hati-hati dari model ER ke bentuk fisik akan
relasional, dan secara umum lebih tepat dikoneksikan dengan model data
logika.
relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga
58
59
“Apa yang dimaksud dengan desain database logical?” dan “Apa yang
dimaksud dengan desain databse fisikal yang baik? What is a physical good
atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut
kemungkinan bagi user untuk melakukan INSERT, DELETE, dan MODIFY terhadap
baris-baris data pada relation tersebut, yang tidak berakibat terjadinya ERROR atau
5.2 Anomaly
penyimpangan atau error atau inkonsistensi data yang terjadi pada saat dilakukan
proses insert, delete maupun update dalam suatu basis data. Terdapat 3 jenis Anomaly
1. Insertion Anomaly
Merupakan error atau kesalahan yang terjadi sebagai akibat operasi insert
Contoh :
tersebut tidak bias diinsert / disisipkan ke dalam relasi Matakuliah sampai ada
2. Deletion Anomaly
Merupakan error atau kesalahan yang terjadi sebagai akibat operasi delete
Contoh :
3. Update Anomaly
Merupakan error atau keslaahan yang terjadi sebagai akibat inkonsistensi data
yang terjadi sebagai akibat dari operasi update record/tuple dari sebuah
relation.
Contoh :
tetap konsisten.
1. Performance problem
Masalah yang timbul terhadap referensi antar data-data diantara dua tabel atau
lebih
a. Super key
b. Candidate key
62
c. Primary key
d. Alternate key
e. Foreign key.
2. Kebergantungan Fungsi.
jika dan hanya jika tiap harga X dalam R bersesuaian dengan tepat satu
harga Y dalam R.
kombinasi rinci data jika functional dependent pada kombinasi rinci data
dan tidak functional dependent pada bagian lain dari kombinasi rinci data.
Definisi dari FDD: Atribute Y pada relasi R adalah FFD pada atribute X
Contoh:
(bukan FFD)
c. Ketergantungan Partial
d. Ketergantungan Transitif
Menjadi atribute biasa pada suatu relasi tetapi menjadi kunci pada relasi
lain
normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan
Gambar 6.1
Langkah-langkah pembuatan normalisasi
Bentuk tidak normal adalah bentuk tabel yang belum ternormalisasi. Tabel
yang belum ternormalisasi adalah tabel yang memiliki atribut yang berulang.
yang akan direkam, tidak ada keharusan mengikuti form tertentu, dapat saja
64
65
elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi
diantara setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai
data yang atomic (atomic value). Atom adalah zat terkecil yang masih
memiliki sifat induknya, bila dipecah lagi maka ia tidak memiliki sifat
induknya.
a. Setiap data dibentuk dlaam flat file, data dibentuk dalam satu record demi
Definisi bentuk normal ketiga: Suatu relasi dikatakan dalam bentuk normal
terhadap atribut bukan kunci lainnya, selruh atribut bukan kunci pada suatu
normal Boyce-Codd jika dan hanya jika semua penentu (determinan) adalah
kunci kandidat (atribut yang bersifat unik) BCNF merupakan bentuk normal
sebagai perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu
Bentuk normal kelima merupakan nama lain dari ProjectJoin Normal Form
Dependency)
1. Sistem Perpustakaan
Gambar 6.2
Bentuk Tidak Normal
68
Gambar 6.3
Bentuk Normal Kesatu
Gambar 6.4
Bentuk Normal Kedua
69
Gambar 6.5
Bentuk Normal Ketiga
2. Sistem Pembelian
Gambar 6.6
Faktur
Pembelian
70
Gambar 6.7
Bentuk Tidak Normal
Gambar 6.8
Bentuk Normal Kesatu
Gambar 6.9
Bentuk Normal Kedua
71
Gambar 6.10
Bentuk Normal Ketiga
BAB VII
termasuk dalam kategori bahasa tingkat tinggi (high level language) yang digunakan
user untuk mendapatkan informasi atau data dari basis data. Bahasa query
1. Bahasa procedural
suatu cara atau prosedur tertentu untuk memperoleh data atau informasi
tersebut.
Menurut (Ladjamudin, 2004) dalam bahasa Query Formal, ada dua dasar
1. Aljabar Relasional
operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi
2. Kalkulus Relasional
fungsi yang dapat mengambil nilai benar atau salah tergantung dari subsitusi
nilai argument dari fungsi tersebut. Jadi, bila semua argument dari sebuah
fungsi disubsitusi dengan suatu nilai, maka fungsi tersebut menjadi suatu
ekspresi yang disebut preposisi, yaitu suatu ekspresi yang hanya berniali
Operator tambahan terdiri dari setvintersection, theta join, natural join dan
division.
Contoh :
Aljabar relasional:
74
Relasi MATAKULIAH
Relasi MAHASISWA
Relasi REGISTRASI
Relasi DOSEN
75
a. Operator Dasar
Contoh :
kelamin laki-laki
b) Tampilkan data mata kuliah yang memiliki kode 360 atau yang
memilki sks 4.
2) Projection ( π )
NAMA_DOS GAJI
BILLY 3500000
MARDIANA 4000000
INDIYANI 4500000
SURYANI 4250000
DWINITA 3500000
MALAU 2750000
IRGIANI 3500000
77
3) Cartesian product ( X )
menggunakan symbol X.
dan setiap tuple dari R2, sehingga jika R1 terdiri dari n tuple dan R2
mn tuple.
Sebagai ilustrasi :
Misal diatas, ibu ada dua himpunan yaitu A dan B, hasil dari
dan (1,7), begitupun untuk 2 dan 3. Jika ini diterapkan dengan table,
Contoh :
(MAHASISWA X REGISTRASI)
NIM NAMA_MHS ALAMAT J_KEL KD_MK NIM
1105090222 HAFIDZ DEPOK LAKI-LAKI 360 1105090222
1105090222 HAFIDZ DEPOK LAKI-LAKI 545 1206090501
1105090222 HAFIDZ DEPOK LAKI-LAKI 547 1105095000
1105091002 RAFFA DEPOK LAKI-LAKI 360 1105090222
1105091002 RAFFA DEPOK LAKI-LAKI 545 1206090501
1105091002 RAFFA DEPOK LAKI-LAKI 547 1105095000
1105095000 NAIA DEPOK PEREMPUAN 360 1105090222
1105095000 NAIA DEPOK PEREMPUAN 545 1206090501
1105095000 NAIA DEPOK PEREMPUAN 547 1105095000
1104030885 ARIF P.LABU LAKI-LAKI 360 1105090222
1104030885 ARIF P.LABU LAKI-LAKI 545 1206090501
1104030885 ARIF P.LABU LAKI-LAKI 547 1105095000
1206090501 LENI KMP. PEREMPUAN 360 1105090222
MELAYU
1206090501 LENI KMP. PEREMPUAN 545 1206090501
MELAYU
1206090501 LENI KMP. PEREMPUAN 547 1105095000
MELAYU
1206090582 WAHYUNI TANGERANG PEREMPUAN 360 1105090222
1206090582 WAHYUNI TANGERANG PEREMPUAN 545 1206090501
1206090582 WAHYUNI TANGERANG PEREMPUAN 547 1105095000
1205097589 ARIS DEPOK LAKI-LAKI 360 1105090222
1205097589 ARIS DEPOK LAKI-LAKI 545 1206090501
1205097589 ARIS DEPOK LAKI-LAKI 547 1105095000
1106094586 YANI CILEDUG PEREMPUAN 360 1105090222
1106094586 YANI CILEDUG PEREMPUAN 545 1206090501
1106094586 YANI CILEDUG PEREMPUAN 547 1105095000
110709 BAMBANG SALEMBA LAKI-LAKI 360 1105090222
79
LAKI”
Kita cari terlebih dahulu, NIM yang sama antara table Mahasiswa
NAMA_MHS KD_MK
HAFIDZ 360
NAIA 547
80
syarat kedua tabel memiliki atribut yang sama yaitu domain atribut
S}.
Contoh :
Tabel Dosen
Tabel Mahasiswa
5) Set difference ( - )
mengeliminasi entity atau record dari suatu tabel yang ada pada
tidak ditampilkan.
Contoh :
Tabel Kuliah_S1
Tabel Kuliah_D3
adalah :
82
Contoh lain :
πnama_mhs(σalamat=“DEPOK” (MAHASISWA)) ;
πnama_mhs(σalamat=“DEPOK”(MAHASISWA)) -
πnama_mhs(σj_kel=“PEREMPUAN” (MAHASISWA));
b. Operator Tambahan
Relasi R1
Relasi S1
Relasi S2
83
1) SET INTERSECTION ( ∩ )
tabel memiliki atribut yang sama, domain atribut ke-i kedua tabel
tersebut sama.
Contoh : S1 ∩ S2
Hasilnya :
58 Rara 10 35
2) THETA JOIN
Hasilnya :
3) NATURAL JOIN
Contoh : S1 θ No_id R1
Hasilnya :
84
4) DIVISION
1. Pengenalan SQL
Bahasa Query Formal yang sudah kita bahas sebelumnya, menjadi dasar dalam
pembentukan bahasa query terapan. Dengan bahasa query formal itulah, algoritma dan
terhadap bahasa query formal akan sanagat memudahkan kita dalam mempelajari dan
Bahasa query yang paling popular tentu saja adalah SQL (Sturctured Query
Language), karena bahasa ini diakomodasi oleh hampir semua DBMS. Menurut
(Fathansyah, 2012) menyampaikan bahwa SQL merupakan bahasa query yang paling
banyak digunakan oleh DBMS dan diterapkan dalam berbagai development tools dan
program aplikasi ketika berinteraksi dengan Basis Data. Bahasa ini dibangun dengan
bagaimana mendapatkannya.
sebenarnya tidak tepat sebab kemampuan SQL tidak terbatas hanya untuk query
data, pebgubahan data, pengaturan sekuritasn, dan lain-lain. Terkadang SQL dikatakan
sebagai subbahasa data. Adapun alas an SQL dikatanakn sebagai subbahasa data
adalah karena SQL tidak mendukung persyaratan bahasa yang lengkap, sekalipun SQL
dipakai untuk mengakses basis data. SQL tidak menyediakan hal-hal seperti :
Subdivisi SQL:
data.
3. Pengelompokkan SQL
Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER dan
DROP.
1) CREATE
a) Pembuatan Database
b) Pembuatan Tabel
Keterangan :
(2) Nama Kolom adalah nama untuk kolom yang baru, panjangnya
(3) Tipe Data adalah jenis data yang nilainya akan dimasukkan
Contoh :
digit
UNIQUE.
(default)
boleh kembar
c) Pembuatan Index
cepat. Namun kelebihan ini tentu saja juga dibayar dengan suatu
nama_table (nama_kolom) ;
Keterangan :
unik.
(3) Nama_Tabel adalah nama tabel yang berisi kolom index akan
(4) Nama_kolom (asc atau dec) adalah nama dari kolom tempat
Mahasiswa(NIM)
90
d) Pembuatan View
Keterangan :
kecuali bahwa :
UNION
definisi view.
data mahasiswa
91
Mahasiswa
2) DROP
Sintaks:
Sintaks:
Sintaks:
Sintaks:
3) ALTER TABLE
Digunakan untuk merubah struktur dari tabel yang telah dibuat dalam
Sintaks :
DROP nama_kolom
RENAME newnama_tabel
Keterangan :
Sintaks :
kolom pertama
93
yang ditunjuk
Sintaks :
newnama ;
Sintaks :
Sintaks :
Sintaks :
Contoh :
Mahasiswa
JKEL char(15);
data)
1) INSERT
atribut1, …)
(“10296832”,”Nurhayati”,“Jakarta”);
2) DELETE
Keterangan :
95
3) UPDATE
Digunakan untuk mengubah nilai atribut pada suatu record dari sebuah
tabel.
Sintaks:
Keterangan :
penggantinya
di update
NIM=” 10296832”;
4) SELECT
Keterangan :
GROUP BY
Contoh :
Hasilnya :
SKS=2
Hasilnya :
(3) Tampilkan semua data nilai dimana nilai MID lebih besar sama
FINAL > 75
Hasilnya :
berdasarkan NAMA
98
NAMA;
Hasilnya:
NIM NAMA
10296126 Astuti
31296500 Budi
10296001 Fintri
21198002 Julizar
10296832 Nurhayati
50096487 Pipit
41296525 Prananigrum
21196353 Quraish
ALAMAT;
Hasilnya :
ALAMAT
Bekasi
Bogor
Depok
Jakarta
99
Hasilnya :
ALAMAT
Bogor
Depok
Jakarta
per kolom maupun per operasi. Yang termasuk dalam kelompok DCL atau
1) GRANT
Sintaks :
OPTION];
Contoh: Berikan hak akses kepada Adi untuk menampikan nilai final
2) REVOKE
Sintaks :
Contoh: Tarik kembali dari Adi hak akses untuk menampilkan nilai
final test
d. Data Integrity
Sintaks :
terjadi kerusakan
e. Data Auxiliary
maupun kolom pada tabel. Yang termasuk dalam kelompok Data auxiliary
Sintaks :
2) LOAD
Sintaks :
TERMINATED BY ‘\t’;
3) RENAME TABLE
Sintaks :
1. Join
yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa
gabungan dari kolom-kolom yang berasal dari tabel-tabel tersebut. Contoh, diketahui
ada dua tabel yaitu Tabel Mahasiswa dan Tabel Nilai, sebagai berikut :
a. INNER JOIN
103
104
Maka Hasilnya :
Mahasiswa.NIM;
Maka Hasilnya :
107
2. Fungsi Agregat
Disamping menampilkan nilai-nilai atribut yang ada didalam tabel, sering pula
record, total nilai suatu atribut, rata-rata nilai atribut, nilai atribut terbesar
a. COUNT
Hasilnya: 8
b. SUM
Digunakan untuk menghitung total dari kolom yang mempunyai tipe data
numerik.
MATAKULIAH;
Hasilnya ;
Total SKS
c. AVG
Hasilnya :
FINAL
60
d. MIN
Hasilnya :
FINAL
e. MAX
Hasilnya :
MID
90
3. SubQuery
a. Pengenalan Subquery
110
menggunakan subquery, maka hasil dari query akan menjadi bagian dari query
diatasnya. Subquery terletak didalam klausa WHERE atau HAVING. Pada klausa
digunakan untuk query. Sedangkan pada klausa HAVING, subquery digunakan untuk
Tabel Pengarang
Tabel Buku
KD_PENG NAMA
P01 Ashadi
P02 Rian
P07 Jaja
2) Klausa subquery Select harus berisi satu nama kolom tunggal atau
EXIST
112
ANY, syaratnya akan bernilai TRUE jika dipenuhi sedikitnya satu nilai
TRUE kalau paling tidak salah satu perbandingan dengan hasil subquery
Contoh :
Menampilkan semua nim yang nilai mid nya bukan yang terkecil
SELECT nim FROM Nilai WHERE MID > ANY ( SELECT MID FROM
Nilai);
Sedangkan jika subquery diawali kata kunci ALL, maka syarat hanya akan
bernilai TRUE jika dipenuhi semua nilai yang dihasilkan subquery itu.
Contoh :
SELECT NIM FROM Nilai WHERE MID >= ALL (SELECT MID FROM
Nilai);
EXIST akan mengirim nilai TRUE jika dan hanya jika terdapat sedikitnya
satu baris di tabel hasil yang dikirim oleh subquery dan EXIST mengirim
113
nilai FALSE jika subquery mengirim tabel kosong. Untuk NOT EXIST
Contoh :
e. Contoh Subquery
1) Ambil nilai mid dan final dari mahasiswa yang bernama Astuti.
2) Ambil nilai kode matakuliah, mid dan final dari mahasiswa yang
ALAMAT = ‘Jakarta’)
masing unit akan merancang dan membiayai pengolahan data mereka masing-masing.
diakses dengan baik dan menyimpan data-data penting dan sering digunakan ke
efisiensi pengaksesannya.
yaitu kumpulan data logic yang saling berhubungan, secara fisik trdistribusi dalam
114
115
jaringan komputer, yang tidak tergantung dari program aplikasi, dan dapat digunakan
oleh banyak aplikasi sekarang maupun pada masa yang akan datang. DBMS
teristribusi adalah sistem software yang memungkinkan ditatanya suatu basis data
DBMS.
secara otomatis.
mungkin dibangun dalam sebuah sistem jaringan komputer. Dalam sebuah sistem
jaringan computer kita mengenal adanya Topologi., yang akan menentukan bagaimana
simpul lainnya. Setiap simpul, dalam kaitannya dengan sistem basis data terdistribusi
mewakili sebuah server, yang memiliki disk dengna sistem data sendiri (lokal). Setiap
server ini juga membuat sebuah LAN (Local area Network) sendiri untuk
Gambar 10.1
Fully Connected Network
Keuntungan:
Kalau salah satu node rusak, yang lainnya masih dapat berjalan
Kerugian :
Gambar 10.2
Partially Connected Network
Keuntungan:
a. Reliability rendah
Kerugian :
Gambar 10.3
Tree Structured Network
Keuntungan:
a. Bersifat sentral
b. Control manajement
terjamin Kerugian :
4. Ring Network
Gambar 10.4
Ring Network
Keuntungan :
Apabila ada satu node yang rusak maka yang lain masih berjalan
Kerugian :
5. Star Network
Gambar 10.5
Star Network
Keuntungan:
rendah
Kerugian:
Kalau ada node pusat rusak maka yang lainnya rusak juga.
d. Peningkatan ketersediaan
e. Peningkatan kehandalan
f. Peningkatan kinerja
g. Ekonomis
b. Kompleksitas
e. Kurangnya standar
f. Kurangnya pengalaman
1. Pengertian Fragmentasi
dimana database dipecah-pecah berdasarkan kolom dan baris yang kemudian disimpan
didalam site atau unit komputer yang berbeda dalam suatu jaringan data, sehingga
Fragmentasi data merupakan langkah yang diambil untuk menyebarkan data dalam
a. Penggunaan
data maka beralasan untuk bekerja dengan suatu subset relasi (fragmen).
120
b. Efisiensi
Data yang tidak diperlukan oleh aplikasi local tidak disimpan di situs itu.
c. Paralleslisme
sistem.
d. Keamanan
Data yang tidak diperlukan oleh aplikasi local tidak disimpan di situs itu.
Dengan cara ini, data tidak tersedia untuk pemakai-pemakai yang tidak
diotorisasi.
2. Aturan Fragmentasi
Fragment, adalah :
Sebuah unit data yang masih dalam bagian dari relasi utama, maka data
harus berada dalam satu fragmen. Ketika ada relasi, pembagian datanya
b. Rekontruksi (Reconstruction )
Sebuah relasi asli dapat dibuat kembali atau digabungkan kembali dari
c. Disjointness
Data didalam fragmen tidak boleh diikutkan dalam fragmen lain agar tidak
fragmentasi vertical
a. Kinerja
b. Integritas
Kendali integritas dapat lebih sulit jika data dan kebergantungan fungsional
3. Jenis-Jenis Fragmentasi
a. Fragmentasi horizontal
Terdiri dari tuple dari fragment global yang kemudian dipecah-pecah atau
r1,r2…rn, tiap2 subset berisi tuple dari r, setiap tuple dari r harus memiliki
b. Fragmentasi vertikal
adalah sebuah alamat logik dari sebuah tuple. Setiap tuple didalam r harus
memiliki sebuah alamat yang unuk, yaitu atribute tuple-id sebagai kunci
penambahan skema.
c. Fragmentasi campuran
Relasi r (global) dibagi2 kedalam sejumlah relasi fragment r1, r2..rn. Tiap2
diperoleh sebelumnya.
berdasarkan Mt_Kuliah
π NIM,Nama_Mhs,Mt,Kuliah,Nil_Akhir,Grade,Tuple_ID (UJian )
Relasi 2 = NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID
π NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID (Ujian)
125
Relasi 1a.
Relasi 1b.
Relasi 1c
DESIGNER
Gambar 11.1
Perancangan dan Implementasi Basis Data Menggunakan SQL
Perangkat Lunak Bantu untuk Perancangan Basis Data Pada perangkat lunak bantu
perangkat lunak bantu untuk keperluan semacam itu adalah DBDesigner yang
Gambar 11.2
DB Designer 4
127
128
Gambar 11.3
Tampilan awal DB Designer
Gambar 11.4
Komponen Tabel dan Relasi DB Designer
129
2. Letakan komponen tersebut pada page area sehingga muncul komponen Tabel
(Table_01) pada page area, kemudian klik kanan komponen tsb sehingga
Gambar 11.5
Pembuatan tabel DB Designer
3. Menu Edit Object akan menampilkan jendela Table Editor. Pada Table Editor
kita bisa menentukan properties dari tabel seperti nama tabel, tipe data,
primary key dsb. Ubah dan simpanlah properties tabel (Table _01) menjadi
tabel faktur (struktur tabel seperti pada pembahasan LRS tanpa ada FK)
seperti berikut.
Gambar 11.6
Membuat Properties
130
untuk tabel barang dan langganan (struktur tabel seperti pada pembahasan LRS
tanpa ada FK). Sehingga ada 3 komponen Table seperti gambar berikut
Gambar 11.7
Tabel Barang, Tabel Langganan, Tabel Faktur
dengan cara klik komponen 1-n Relation pada toolbar seperti di gambar
berikut.
Gambar 11.8
Membuat Relasi One to one antar Tabel
131
Gambar 11.9
Tampilan Relasi One to Many antar Tabel
7. Langkah berikutnya membuat relasi M-M antara faktur dengan barang dengan
cara klik komponen n-m Relation pada toolbar seperti di gambar berikut
Gambar 11.10
Membuat Relasi Many to Many antar Tabel
8. Klik di tabel faktur kemudian klik di tabel barang, sehingga muncul komponen
relasi yang disertai munculnya tabel baru (faktur_has_barang) dan FK (Nfak &
Gambar 11.11
Tampilan Relasi Many to Many antar Tabel
tabel transaksi dan menambahkan field Qty dan HrgTran. Sehingga menjadi
Gambar 11.12
Menambahkan Atribut Pada Tabel
Synchronization. Database yang digunakan pada contoh ini adalah MySQL. Sebelum
dahulu. Jika remote connection dengan root diperbolehkan maka gunakan user root.
Jika tidak maka kita butuh membuat user baru terlebih dahulu. Berikut ini adalah cara
Melakukan Sinkronisasi :
Gambar 11.13
Tampilan Login
2. Buat user baru bernama dbo dengan password ”owner”. Ketikkan 3 perintah
dibawah ini.
Gambar 11.14
Membuat User Baru
Gambar 11.15
Membuat Database
Gambar 11.16
Melakukan Sinkronisasi
5. Lalu pilih MySQL sebagai database dan kemudian klik New Database
Connection
Gambar 11.17
Pilih New Database Connection
Gambar 11.18
Tampilan New Database Connection
135
Gambar 11.19
Tampilan Koneksi ke MySQL
Gambar 11.20
Mengeksekusi Sinkronisasi
136
untuk mengekspor tabel ke server database MySQL dan akan tampil progress
Gambar 11.21
Tampilan Behasil Ekspor tabel Ke MySQL
BAB XII
Masalah ini timbul jika dua transaksi mengakses item database yang sama yang
Nilai saldo menjadi tidak benar disebabkan transaksi Susi membaca nilai saldo
sebelum transaksi Ika mengubah nilai tersebut dalam database, sehingga nilai
137
138
Masalah ini timbul jika transaksi membaca suatu record yang sudah
Nilai saldo menjadi tidak benar disebabkan terjadi RollBack pada T7 yang
2.000.000
Masalah ini timbul jika sebuah transaksi membaca suatu nilai tetapi transaksi
pertama.
139
12.2 Locking
KONSEP DASAR :
tidak akan berubah secara mendadak, maka diperlukan kunci untuk record
tersebut FUNGSI Locking berfungsi untuk menjaga record tersebut agar tidak
1. Share (S)
Kunci ini memungkinkan pengguna dan para pengguna konkuren yang lain
2. Exclusive (X)
12.3 Timestamping
2. Suatu transaksi memerintahkan untuk menulis sebuah item yan nilainya sudah
PENGERTIAN :
2. Power failure yaitu informasi yang disimpan pada memori utama dan register
akan hilang
3. Software Error yaitu output yang dihasilkan tidak betul dan sistem
1. Volatile storage, biasanya informasi yang terdapat pada volatile akan hilang,
2. Non Volatile Storage, biasanya informasi yang terdapat pada non volatile
strorage tidak akan hilang jika terjadi kerusakan sistem contoh: ROM
3. Stable Storage, informasi yang terdapat dalam stable storage tidak pernah
Jenis-jenis kegagalan
2. System Error, sistem berada pada keadaan yang tidak diinginkan, seperti
pada volatile storage, tetapi data pada non volatile storage masih tetap ada.
4. Disk Failure, hilangnya data dari sebuah blok disk disebabkan oleh kerusakan
12.5 Security
SECURITY adalah suatu proteksi data terhadap perusakan data dan pemakaian
1. Di dalam suatu perusahaan siapa yang diijinkan untuk mengakses suatu sistem
2. Katagori yang disengaja Contoh: Insert, Delete & Update oleh pihak yang
tidak berwenang
dalam jaringan
KONSEP VIEW adalah cara yang diberikan pada seorang pemakai untuk
relasi
2. View, seorang pemakai diperbolehkan atau tidak mengakses data yang terdapat
pada view
4. Insert Authorozation, pemakai boleh menambah data baru, tetapi tidak dapat
menghapus data
12.7 Integrity
contoh: tidak ada satu komponen kunci primer yang bernilai kosong (null) -
Integrity Referensi, suatu domain dapat dipakai sebagai kunci primer bila
DAFTAR PUSTAKA
Indrajani. (2009). Sistem Basis Data Dalam Paket Five In One. PT Elex Media
Komputindo.
Ladjamudin, A. B. Bin. (2005). Analisis dan Desain Sistem Informasi. Graha Ilmu.