1001 cara
Bermain
Basis Data
EEPIS PRESS®
i
1001 Cara Bermain Basis Data
Diterbitkan oleh :
EEPIS Press
Kampus Politeknik Elektronika Negeri
Surabaya,
Jalan Raya ITS, Keputih, Sukolilo, Surabaya,
60111
Telepon: +62 31 594 7280
Fax: +62 31 594 6114
Email: humas@pens.ac.id
Website: www.pens.ac.id
Penyunting :
Reza Gusty Erlangga
ii
1001 Cara Bermain Basis Data
Kata Pengantar
iii
1001 Cara Bermain Basis Data
Daftar Isi
HALAMAN JUDUL............................................ i
KATA PENGANTAR ....................................... iii
DAFTAR ISI...................................................... iv
iv
1001 Cara Bermain Basis Data
v
1001 Cara Bermain Basis Data
vi
1001 Cara Bermain Basis Data
vii
1001 Cara Bermain Basis Data
viii
1001 Cara Bermain Basis Data
BAB 1
REVIEW DATABASE 1
1.1 PENDAHULUAN
Basis data adalah kumpulan data yang
dapat digambarkan sebagai aktifitas dari
satu atau lebih organisasi yang berelasi.
Sebagai contoh, basis data universitas
berisi informasi mengenai :
Entiti, semisal mahasiswa, fakultas,
mata kuliah, dan ruang kelas.
Relasi diantara entitas, seperti
pengambilan kuliah yang dilakukan
oleh mahasiswa, staf pengajar di
fakultas, dan penggunaan ruang
perkuliahan.
Manajemen Sistem Basis Data
(Database Management System – DBMS)
adalah perangkat lunak yang didesain
untuk membantu dalam hal pemeliharaan
dan utilitas kumpulan data dalam jumlah
besar.
Agar bisa menggunakan DBMS
dengan baik, perlu diketahui cara kerja
dari DBMS tersebut. Pendekatan yang
dilakukan untuk menggunakan DMBS
secara baik, meliputi implementasi DBMS
1
1001 Cara Bermain Basis Data
1.2 ER-MODEL
ER model menyediakan suatu konsep
yang bermanfaat yang dapat mengubah
deskripsi informal dari apa yang
diinginkan oleh user menjadi hal yang
lebih detail, presisi, dan deskripsi detail
tersebut dapat diimplementasikan ke
dalam DBMS.
Komponen-komponen ER-Model :
Entiti: obyek dunia nyata yang dapat
dibedakan dari obyek yang lain.
Atribut: informasi lebih rinci tentang
jenis entitas.
Relasi: hubungan antara dua atau lebih
dari jenis entitas.
Key constraint: yaitu Primary Key,
Foreign Key, Unique, Not Null, Check.
Batasan Partisipasi
- Relasi Partial: Jika tidak terdapat
mandatory di antara entitas yang
berelasi.
2
1001 Cara Bermain Basis Data
3
1001 Cara Bermain Basis Data
4
1001 Cara Bermain Basis Data
5
1001 Cara Bermain Basis Data
6
1001 Cara Bermain Basis Data
1.5 NORMALISASI
Normalisasi adalah perbaikan skema
database. Latar belakang diperlukannya
normalisasi adalah karena adanya
penyimpanan informasi yang redundan.
1. Bentuk Normal Pertama (1NF)
Suatu relasi dikatakan dalam bentuk
normal pertama jika dan hanya jika setiap
atribut bernilai tunggal untuk setiap atribut
bernilai tunggal untuk setiap baris.
Contoh:
7
1001 Cara Bermain Basis Data
8
1001 Cara Bermain Basis Data
9
1001 Cara Bermain Basis Data
LATIHAN SOAL :
1. Gambarlah sebuah diagram ER yang
mengungkapkan informasi ini.
Perusahaan rekaman Notown
memutuskan untuk menyimpan semua
informasi mengenai musisi yang
mengerjakan albumnya (seperti halnya
data perusahaan lain) dalam sebuah
database. Pihak perusahaan menyewa
anda sebagai desainer database (dengan
biaya konsultasi sebesar $2.500 / hari).
10
1001 Cara Bermain Basis Data
11
1001 Cara Bermain Basis Data
12
1001 Cara Bermain Basis Data
13
1001 Cara Bermain Basis Data
14
1001 Cara Bermain Basis Data
15
1001 Cara Bermain Basis Data
SELECT e.ENAME
FROM EMP e, WORKS w, DEPT d
WHERE e.EID = w.EID and w.DID = d.DID
and d.DNAME = ‘IT’;
16
1001 Cara Bermain Basis Data
SELECT e.ENAME
FROM EMP e, WORKS w, DEPT d
WHERE w.EID=e.EID and w.DID=d.DID
and d.DNAME=’IT’ and
e.AGE>(SELECT AVG(AGE) FROM EMP
e, WORKS w, DEPT d
WHERE w.EID=e.EID and w.DID=d.DID
and d.DNAME=’IT’);
Tabel Dosen
NIP Nama Dosen
17
1001 Cara Bermain Basis Data
Tabel Kuliah
Kode Waktu
Ruang
Kuliah Kuliah
18
1001 Cara Bermain Basis Data
BAB 2
DESAIN BASIS DATA
2.1 PENDAHULUAN
Aktifitas desain basis data
menggunakan proses yang sistematis yang
disebut metodologi desain, dimana target
basis data diatur dengan RDBMS,
ORDBMS atau ODBMS.
Metodologi desain menggunakan alat
Bantu seperti Designer 2000 dari Oracle,
ERWin, BPWin dan Paradigm Plus oleh
Platinum Technology dan lain sebagainya.
19
1001 Cara Bermain Basis Data
20
1001 Cara Bermain Basis Data
7. Operation.
8. Monitoring and maintenance.
21
1001 Cara Bermain Basis Data
22
1001 Cara Bermain Basis Data
23
1001 Cara Bermain Basis Data
24
1001 Cara Bermain Basis Data
25
1001 Cara Bermain Basis Data
b. Desain Transaksi
Tujuan dari tahap 2b, dimana
proses dilakukan paralel dengan tahap
2°, untuk mendesain karaktersitik
transaksi basis data yang diketahui
(aplikasi) dengan cara DBMS-
independent. Jika suatu sistem basis
data dirancang, perancang sadar
beberapa aplikasi yang diketahui (atau
transaksi) yang akan dijalankan dalam
basis data diimplementasikan. Bagian
terpenting dari perancangan basis data
adalah menentukan karakteristik
fungsi transaksi tersebut sebelumnya
dalam proses perancangan. Hal ini
26
1001 Cara Bermain Basis Data
27
1001 Cara Bermain Basis Data
28
1001 Cara Bermain Basis Data
3. Pemilihan DBMS
Hal-hal yang harus
dipertimbangkan secara ekonomi dan
faktor organisasi adalah :
1. Software acquisiton cost.
2. Maintenance cost.
3. Hardware acquisition cost.
4. Database creation and conversion
cost.
5. Personal cost.
6. Training cost.
7. Operating cost.
29
1001 Cara Bermain Basis Data
30
1001 Cara Bermain Basis Data
RINGKASAN :
31
1001 Cara Bermain Basis Data
LATIHAN SOAL :
32
1001 Cara Bermain Basis Data
33
1001 Cara Bermain Basis Data
34
1001 Cara Bermain Basis Data
35
1001 Cara Bermain Basis Data
Tabel Penerbit
Nama Kolom Type data Keterangan
Id_penerbit Varchar(5) Primary key
Nama_penerbit Varchar(5) Not null
Tabel Operator
Nama Kolom Type Data Keterangan
Id_Operator Varchar(8) Primary key
Username Varchar(50) Not null
Password Varchar(50) Not null
Nama Varchar(250) Not null
Email Varchar(250) Not null
alamat Text Not null
36
1001 Cara Bermain Basis Data
Tabel Anggota
Nama Kolom Type data Keterangan
Id_anggota Varchar(8) Primary key
Nama Varchar(250) Not null
Alamat Text Not null
Email Varchar(250) Not null
No_telp Varchar(12) Not null
Tabel Peminjaman
Nama Kolom Type data Keterangan
Id_peminjaman Varchar(5) Primary key
Id_buku Varchar(5) Foreign key
Id_operator Varchar(8) Foreign key
Id_anggota Varchar(8) Foreign key
Id_pinjam datetime Not null
Id_habispinjam datetime Not null
Id_tgl_kembali datetime
status Int(1) Not null
37
1001 Cara Bermain Basis Data
Tabel Denda
Nama Kolom Type data Keterangan
Id_denda Varchar(5) Primary key
Id_peminjaman Varchar(5) Foreign key
Keterlambatan Varchar(10) Not null
Denda Int(10) Not null
38
1001 Cara Bermain Basis Data
5) Formality:skema konseptual
ditampilkan dalam model data aharus
merepesentasikan spesifikasi formal data.
Sehingga, konsep model harus ditentukan
secara akurat dan tidak berganda.
39
1001 Cara Bermain Basis Data
40
1001 Cara Bermain Basis Data
41
1001 Cara Bermain Basis Data
42
1001 Cara Bermain Basis Data
43
1001 Cara Bermain Basis Data
BAB 3
QUERY LANJUTAN
2. Tabel EMPLOYEES
44
1001 Cara Bermain Basis Data
3. Tabel JOB_HISTORY
45
1001 Cara Bermain Basis Data
46
1001 Cara Bermain Basis Data
47
1001 Cara Bermain Basis Data
A. PAIRWISE COMPARISON
SUBQUERY
Berikut contoh pembandingan
berpasangan untuk menampilkan detail
dari data pegawai yang dimanajeri oleh
manajer dan department yang sama
dengan yang dimiliki oleh nomer pegawai
178
48
1001 Cara Bermain Basis Data
B. NONPAIRWISE COMPARISON
SUBQUERY
Berikut contoh pembandingan tidak
berpasangan untuk menampilkan detail
dari data pegawai yang dimanajeri oleh
manager yang sama dengan pegawai
dengan nomer pegawai 174 atau 141 dan
bekerja dalam departement yang sama
dengan pegawai yang memiliki nomer
pegawai 174 atau 141.
49
1001 Cara Bermain Basis Data
50
1001 Cara Bermain Basis Data
51
1001 Cara Bermain Basis Data
52
1001 Cara Bermain Basis Data
53
1001 Cara Bermain Basis Data
54
1001 Cara Bermain Basis Data
55
1001 Cara Bermain Basis Data
56
1001 Cara Bermain Basis Data
57
1001 Cara Bermain Basis Data
RINGKASAN :
Subquery digunakan untuk menyelesaikan
persoalan dimana terdapat suatu nilai yang
tidak diketahui (unknown values).
Pada subquery dengan banyak kolom, tiap
baris dari main query dibandingkan
dengan nilai dari subquery multiple-row
dan multiple-column.
Pembandingan kolom dalam subquery
banyak kolom dapat berupa
pembandingan berpasangan (pairwise
comparison) dan tidak berpasangan
(nonpairwise comparison).
Query bisa diletakkan di dalam klausa
FROM untuk membentuk tabel temporer,
dan dikenal juga dengan istilah inline
view.
Korelasi SubQuery digunakan untuk
pemrosesan baris per baris.
Klausa WITH dapat menggunakan blok
58
1001 Cara Bermain Basis Data
LATIHAN SOAL :
1) Buat query untuk menampilkan nama,
nomer departemen, dan gaji dari pegawai
yang yang memiliki nomer departemen
dan gaji yang sama dengan nomer
departemen dan gaji dari pegawai yang
memiliki komisi.
2) Buat query untuk menampilkan nama
pegawai, nama departemen, dan gaji dari
pegawai yang memiliki gaji dan komisi
yang sama dengan gaji dan komisi dari
pegawai yang memiliki location ID 1700.
3) Buat query untuk menampilkan nama
pegawai, tanggal mulai masuk kerja (hire
date), dan gaji untuk semua pegawai yang
memiliki gaji dan komisi seperti yang
dimiliki oleh pegawai yang bernama
Kochhar. Note: Data Kochhar tidak
ditampilkan dalam hasil query.
4) Buat query untuk menampilkan detail dari
nomer pegawai, nama pegawai dan nomer
pegawai yang pegawai yang bertempat
tinggal di kota yang nama kotanya diawali
59
1001 Cara Bermain Basis Data
dengan huruf T.
5) Buat query untuk menampilkan data
semua pegawai yang memiliki gaji yang
lebih dari rata-rata gaji pada departemen
tempat mereka bekerja. Data yang
ditampilkan yaitu nama pegawai, gaji,
nomer departemen, dan rata-rata gaji pada
departemen tempat mereka bekerja.
Urutkan berdasarkan rata-rata gaji.
6) Tampilkan semua pegawai yang tidak
memiliki supervisor.
a. Cara pertama gunakan operator NOT
EXISTS.
b. Apakah persoalan dapat dipecahkan
dengan menggunakan operator NOT
IN? Jika bisa bagaimana caranya, dan
jika tidak bisa mengapa ?
7) Buat query untuk menampilkan nama
pegawai yang gajinya kurang dari rata-rata
gaji pada departemen tempat dia bekerja.
8) Buat query untuk menampilkan nama dari
pegawai yang memiliki satu atau lebih
kolega (teman satu departemen) dimana
kolega tersebut masuk lebih akhir tapi
memiliki gaji lebih tinggi.
9) Buat query untuk menampilkan nomer
pegawai, nama pegawai dan nama
60
1001 Cara Bermain Basis Data
JAWABAN :
1. select last_name, department_id, salary,
commission_pct
from employees
where department_id in (select
department_id from employees where
commission_pct is not null)
and salary in (select salary from
employees where commission_pct is not
null);
61
1001 Cara Bermain Basis Data
62
1001 Cara Bermain Basis Data
63
1001 Cara Bermain Basis Data
5. SELECT
e.last_name,e.salary,e.department_id,
(SELECT avg(salary)
FROM employees e2
where e2.department_id =
e.department_id) as average FROM
employees e
where salary > (SELECT avg(salary)
FROM employees e2
where e2.department_id =
e.department_id) order by average
64
1001 Cara Bermain Basis Data
65
1001 Cara Bermain Basis Data
66
1001 Cara Bermain Basis Data
67
1001 Cara Bermain Basis Data
68
1001 Cara Bermain Basis Data
69
1001 Cara Bermain Basis Data
70
1001 Cara Bermain Basis Data
BAB 4
CONSTRAINT
72
1001 Cara Bermain Basis Data
73
1001 Cara Bermain Basis Data
74
1001 Cara Bermain Basis Data
75
1001 Cara Bermain Basis Data
76
1001 Cara Bermain Basis Data
77
1001 Cara Bermain Basis Data
78
1001 Cara Bermain Basis Data
79
1001 Cara Bermain Basis Data
80
1001 Cara Bermain Basis Data
81
1001 Cara Bermain Basis Data
82
1001 Cara Bermain Basis Data
LATIHAN SOAL :
1. Tambahkan table-level PRIMARY KEY
Constraint pada tabel EMP pada kolom
ID. Constraint diberi nama :
my_emp_id_pk
Jawab : alter table emp add constraint
my_emp_id_pk primary key (ID);
83
1001 Cara Bermain Basis Data
84
1001 Cara Bermain Basis Data
85
1001 Cara Bermain Basis Data
BAB 5
EXPORT DAN IMPORT DATABASE
ORACLE
86
1001 Cara Bermain Basis Data
87
1001 Cara Bermain Basis Data
88
1001 Cara Bermain Basis Data
89
1001 Cara Bermain Basis Data
BAB 6
OPTIMASI QUERY
6.1 PENDAHULUAN
Data yang tersimpan dalam database
semakin lama akan semakin besar ukuran
atau volumenya. Kalau tidak didukung
dengan kecepatan akses yang memadai
maka akan semakin menurun unjuk
kerjanya. Ukuran unjuk kerja dalam hal
ini kecepatan akses data dipengaruhi oleh
banyak faktor. Pada bab ini akan
membahas tentang optimasi query serta
faktor-faktor lain yang berpengaruh
terhadap optimalisasi kecepatan akses
data.
90
1001 Cara Bermain Basis Data
91
1001 Cara Bermain Basis Data
92
1001 Cara Bermain Basis Data
93
1001 Cara Bermain Basis Data
94
1001 Cara Bermain Basis Data
Q_PLAN
------------------------------------------------------------
SELECT STATEMENT
TABLE ACCESS FULL KARYAWAN
95
1001 Cara Bermain Basis Data
A. OPTIMASI APLIKASI
Dalam pembuatan aplikasi, yang perlu
mendapat perhatian adalah apakah akses
terhadap data sudah efisien. Efisien dalam
hal penggunaan obyek yang mendukung
kecepatan akses, seperti index atau cluster.
96
1001 Cara Bermain Basis Data
97
1001 Cara Bermain Basis Data
RINGKASAN :
98
1001 Cara Bermain Basis Data
99
1001 Cara Bermain Basis Data
100
1001 Cara Bermain Basis Data
101
1001 Cara Bermain Basis Data
102
1001 Cara Bermain Basis Data
103
1001 Cara Bermain Basis Data
104
1001 Cara Bermain Basis Data
BAB 7
BASIS DATA CLIENT / SERVER
7.1 PENDAHULUAN
Aplikasi basis data terdistribusi
dikembangkan dalam bentuk arsitektur
client-server. Teknologi client-server
berkembang secara cepat sebagai
teknologi lanjut. Pada beberapa waktu
yang lalu, sangat sulit memprediksikan
status saat ini teknologi clientserver yang
terjadi saat ini. Hal ini sama sulitnya
dengan memprediksi teknologi untuk
beberapa tahun ke depan. Beberapa faktor
yang berpengaruh pada fungsi client atau
server atau keduanya, melibatkan
perangkat keras dan perangkat lunak,
protocol network, teknologi LAN/WAN
dan komunikasi. Penurunan biaya dari
beberapa factor tersebut menyebabkan
semakin besar kemungkinan mempunyai
sistem yang kuat.
105
1001 Cara Bermain Basis Data
106
1001 Cara Bermain Basis Data
107
1001 Cara Bermain Basis Data
108
1001 Cara Bermain Basis Data
109
1001 Cara Bermain Basis Data
110
1001 Cara Bermain Basis Data
RINGKASAN :
Konsep arsitektur client-server
berhubungan dengan basis data
terdistribusi.
Arsitektur client-server yang
dikembangkan saat ini menggunakan
three-tier arsitektur dimana terdapat tiga
komponen utama yaitu host, server dan
client.
Pengaksesan Query dilakukan dengan cara
client melakukan permintaan query
dengan mengirimkan sub query ke
beberapa tempat server dan setelah server
mengirimkan hasilnya ke client, client
111
1001 Cara Bermain Basis Data
LATIHAN SOAL :
112
1001 Cara Bermain Basis Data
113
1001 Cara Bermain Basis Data
114
1001 Cara Bermain Basis Data
BAB 8
BASIS DATA TERDISTRIBUSI
8.1 PENDAHULUAN
Pada basis data terdistribusi
(distributed database), data disimpan pada
beberapa tempat (site), setiap tempat
diatur dengan suatu DBMS (Database
Management System) yang dapat berjalan
secara independent. Properti yang
terutama terdapat pada basis data
terdistribusi :
Independensi data terdistribusi :
pemakai tidak perlu mengetahui
dimana data berada (merupakan
pengembangan prinsip independensi
data fisik dan logika).
Transaksi terdistribusi yang atomic :
pemakai dapat menulis transaksi yang
mengakses dan mengubah data pada
beberapa tempat seperti mengakses
transaksi local.
Untuk trend basis data terdistribusi
saat ini, pemakai harus mengetahui
dimana data ditempatkan, juga harus
mengetahui dimana system yang tidak
mendukung independensi data
115
1001 Cara Bermain Basis Data
116
1001 Cara Bermain Basis Data
117
1001 Cara Bermain Basis Data
118
1001 Cara Bermain Basis Data
Collaboration Server
Arsitektur client-server tidak
mengijinkan satu query mengakses
banyak server karena proses client
harus dapat membagi sebuah quer ke
dalam beberapa subquery untuk
dieksekusi pada tempat yang berbeda
dan kemudian membagi jawaban ke
subquery. Proses client cukup
komplek dan terjadi overlap dengan
server; sehingga perbedaan antara
client dan server menjadi jelas. Untuk
mengurangi perbedaan diguankan
alternatif arsitektur client-server yaitu
sistem Collaboration Server. Pada
sistem ini terdapat sekumpulan server
basis data, yang menjalankan transaksi
data lokal yang bekerjasama
mengeksekusi transaksi pada beberapa
server seperti pada Gambar 7-3. Jika
server menerima query yang
membutuhkan akses ke data pada
server lain, sistem membangkitkan
subquery yang dieksekusi server lain
119
1001 Cara Bermain Basis Data
120
1001 Cara Bermain Basis Data
121
1001 Cara Bermain Basis Data
Replikasi
Replikasi berarti bahwa kita
menyimpan beberapa copy sebuah
relasi atau fragmen relasi. Keseluruan
relasi dapat direplikasi pada satu atau
lebih tempat. Sebagai contoh, jika
relasi R difragmentasi ke R1, R2 dan
R3, kemungkinan terdapat hanya, satu
copy R1, dimana R2 adalah replikasi
pada dua tempat lainnya dan R3
replikasi pada semua tempat. Hal ini
dapat diilustrasikan pada Gambar 7-5.
122
1001 Cara Bermain Basis Data
123
1001 Cara Bermain Basis Data
124
1001 Cara Bermain Basis Data
125
1001 Cara Bermain Basis Data
126
1001 Cara Bermain Basis Data
Semijoin
Teknik semijoin ditujukan untuk
mengurangi jumlah tupelo Reserves yang
dikirim. Idenya terdiri dari langkah-langkah
berikut :
1. Di London, proyeksikan Sailors ke kolom
join dan kirimkan ke Paris.
127
1001 Cara Bermain Basis Data
Bloomjoin
Teknik bloomjoin juga ditujukan untuk
mengurangi jumlah tupelo Reserves yang
dikirim. Idenya terdiri dari langkah-langkah
berikut :
1. Di London, hitung sebuat bit-vector dari
beberapa ukuran k. Nilai kolom hash join
mempunyai jangkauan 0 sampai k-1. Jika
beberapa tupel melakukan teknik hashing
ke I, set bit I menjadi 1 (I dari 0 sampai k-
1). Kirimkan bit-vector ke Paris.
128
1001 Cara Bermain Basis Data
129
1001 Cara Bermain Basis Data
130
1001 Cara Bermain Basis Data
Synchronous Replication
Terdapat dua teknik dasar untuk menjamin
transaksi terlihat nilai yang sama dengan copy,
yaitu :
Voting : transaksi harus menulis mayoritas
copy untuk memodifikasi sebuah obyek,
harus membaca cukup copy untuk
meyakinkan bahwa terlihat setidaknya
satu dari copy saat itu. Misalnya terdapat
10 copy, 7 penulisan untuk perubahan dan
4 copy untuk pembacaan. Setiap copy
mempunyai nomor versi. Teknik ini
biasanya tidak atraktif karena pembacaan
adalah hal yang biasa.
Read-any Write-all: penulisan lebih
lambah dan pembacaan lebih cepat
daripada teknik Voting. Teknik ini banyak
digunakan pada synchronous replication.
Pemilihan teknik synchronous replication
akan menentukan tempat mana yang terkunci
untuk seting.
Biaya pada synchronous replication
adalah sebagai berikut : sebelum transaksi
yang diubah commit, harus dilihat penguncian
pada semua copy yang dimodifikasi.
Kirimkan perintah lock ke remote site, dan
sementara menunggu respon, pegang kunci
131
1001 Cara Bermain Basis Data
Asynchronous Replication
Asynchronous replication mengijinkan
memodifikasi transaksi commit sebelum
semua copy diubah (dan pembaca tidak hanya
melihat satu copy). Pemakai harus waspada
copy yang keluar dari sinkronisasi untuk suatu
periode waktu yang pendek.
Teknik asynchronous replication
menggunakan dua pendekatan, yaitu Primary
Site dan Peer to Peer replication. Perbedaan
kedua teknik ini terletak pada berapa banyak
copy yang dapat diubah atau copy master.
Peer to Peer replication.
Lebih dari satu copy dari suatu obyek
dapat menjadi sebuah master. Perubahan
ke copy master harus dipropaganda ke
copy lain dengan cara yang berlainan. Jika
dua copy master diubah dan terjadi suatu
konflik, konflik harus dipecahkan
132
1001 Cara Bermain Basis Data
133
1001 Cara Bermain Basis Data
134
1001 Cara Bermain Basis Data
135
1001 Cara Bermain Basis Data
136
1001 Cara Bermain Basis Data
137
1001 Cara Bermain Basis Data
138
1001 Cara Bermain Basis Data
139
1001 Cara Bermain Basis Data
140
1001 Cara Bermain Basis Data
141
1001 Cara Bermain Basis Data
RINGKASAN :
142
1001 Cara Bermain Basis Data
143
1001 Cara Bermain Basis Data
144
1001 Cara Bermain Basis Data
LATIHAN SOAL :
145
1001 Cara Bermain Basis Data
146
1001 Cara Bermain Basis Data
147
1001 Cara Bermain Basis Data
148
1001 Cara Bermain Basis Data
B. Collaboration Server
Arsitektur client–server tidak
mengijinkan satu query mengakses
banyak server karena proses client
harus dapat membagi sebuah query ke
dalam beberapa subquery untuk
dieksekusi pada tempat yang berbeda
dan kemudian membagi jawaban ke
subquery. Proses client cukup
komplek dan terjadi overlap dengan
server; sehingga perbedaan antara
client dan server menjadi jelas. Untuk
mengurangi perbedaan diguankan
alternatif Arsitektur client–server
yaitu sistem Collaboration Server.
Pada sistem ini terdapat sekumpulan
server basis data, yang menjalankan
transaksi data lokal yang bekerjasama
mengeksekusi transaksi pada beberapa
server seperti pada Gambar 2.4.
Jika server menerima query yang
membutuhkan akses ke data pada
149
1001 Cara Bermain Basis Data
150
1001 Cara Bermain Basis Data
Kekurangan
Tidak cocok di gunakan untuk skala
yang kecil karena collaboration
memerlukan banyak memori, sehingga
jika di gunakan dalam skala kecil akan
mengakibatkan pemborosan memori.
151
1001 Cara Bermain Basis Data
152
1001 Cara Bermain Basis Data
153
1001 Cara Bermain Basis Data
154
1001 Cara Bermain Basis Data
Dalam pengimplementasiannya
dibutuhakan penentuan berapa banyak
perubahan ke primary copy dipropaganda
ke copy sekunderPerubahan dibuat dengan
transaksi commit ke primary copy yang
diidentifikasi selama langkah Capture dan
dipropaganda ke copy sekunder selama
langkah Apply. Sedangkan langkah
Capture diimplementasikan dengan satu
dari dua pendekatan, yaituLog-Based
Capture dan Procedureal
Capture.Implementasi capture dengan
Log-Based Capture lebih baik karena lebih
murah dan lebih cepat tetapi harus
memahami detail dari property log.
Log-Based Capter ditambah Apply
yang terus-menerus akan meminimalkan
delay pada propaganda perubahan.
Procedureal Capture ditambah
application-driven Apply merupakan cara
yang fleksibel untuk perubahan proses.
155
1001 Cara Bermain Basis Data
156
1001 Cara Bermain Basis Data
BAB 9
BASIS DATA INTERNET
157
1001 Cara Bermain Basis Data
158
1001 Cara Bermain Basis Data
159
1001 Cara Bermain Basis Data
160
1001 Cara Bermain Basis Data
161
1001 Cara Bermain Basis Data
162
1001 Cara Bermain Basis Data
163
1001 Cara Bermain Basis Data
<!DOCTYPE BOOKLIST [
<!ELEMENT BOOKLIST (BOOK)*>
<!ELEMENT BOOK (AUTHOR, TITLE,
PUBLISHED?)>
<!ELEMENT AUTHOR (FIRST, LAST)>
<!ELEMENT FIRST (#PCDATA)>
<!ELEMENT LAST (#PCDATA)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT PUBLISHED (#PCDATA)>
<!ATTLIST BOOK genre (Science|Fiction)
#REQUIRED>
<!ATTLIST BOOK format
(Paperback|Hardcover) “Paperback”>
]>
164
1001 Cara Bermain Basis Data
165
1001 Cara Bermain Basis Data
WHERE
<BOOK>
<NAME><LAST>$1</LAST></NAME>
</BOOK> in “www.booklist.com/books.xml
CONSTRUCT <RESULT> $1 </RESULT>
166
1001 Cara Bermain Basis Data
RINGKASAN :
167
1001 Cara Bermain Basis Data
168
1001 Cara Bermain Basis Data
169
1001 Cara Bermain Basis Data
LATIHAN SOAL :
170
1001 Cara Bermain Basis Data
c. CGI
171
1001 Cara Bermain Basis Data
172
1001 Cara Bermain Basis Data
173
1001 Cara Bermain Basis Data
174
1001 Cara Bermain Basis Data
175
1001 Cara Bermain Basis Data
<HTML>
<BODY>
Daftar Barang:
<UL>
<LI>ID: 123</LI?
<LI>Nama Barang: abc</LI>
<LI>Harga: 200</LI>
</UL>
<UL>
<LI>ID: 123</LI?
<LI>Nama Barang: abc</LI>
<LI>Harga: 200</LI>
</UL>
</BODY>
</HTML>
176
1001 Cara Bermain Basis Data
<?XML version=“1.0”
standalone=“yes”?>
<!DOCTYPE BOOKLIST SYSTEM
“eggface_db.dtd”>
<BARANGLIST>
<BARANG>
<ID>345</ID>
<NAMABARANG>Palm Pilot
V</NAMABARANG>
<HARGA>400</HARGA>
</BARANG>
<BARANG>
<ID>3784</ID>
<NAMABARANG>IBM ThinkPad
570</NAMABARANG>
<HARGA>1999</HARGA>
</BARANG>
<BARANG>
<ID>974</ID>
<NAMABARANG>Microsoft Office 2000 -
Standard Edition</NAMABARANG>
<HARGA>140</HARGA>
</BARANG>
<BARANG>
<ID>664</ID>
<NAMABARANG>Adobe
InDesign</NAMABARANG>
<HARGA>200</HARGA>
</BARANG>
</BARANGLIST>
177
1001 Cara Bermain Basis Data
WHERE
<BARANG>
<NAMABARANG>$A</NAMABARANG>
</BARANG> in
“www.eggfaceshop.com/
eggface.xml
CONSTRUCT <RESULT> $A </RESULT>
178
1001 Cara Bermain Basis Data
WHERE
<BARANG>
<HARGA>$A</HARGA>
</BARANG> in “www.eggfaceshop.com/
eggface.xml
CONSTRUCT <RESULT> $A </RESULT>
179
1001 Cara Bermain Basis Data
BAB 10
DATA WEREHOUSING DAN
DECISION SUPPORT
10.1 PENDAHULUAN
Data Warehouse adalah suatu
database penunjang keputusan
yang dikelola secara terpisah dari
database operasional perusahaan.
Dan merupakan penunjang
pemrosesan informasi dengan
menyediakan suatu platform yang
kokoh untuk analisa data yang
mengandung histori dan yang
terkonsolidasi. Berikut beberapa
definisi tentang data warehouse :
“Suatu DW adalah suatu
koleksi data yang bisa digunakan
untuk menunjang pengambilan
keputusan manajemen, yang
berorientasi subjek (topik),
terpadu, time variant, dan tidak
mudah berubah” —W. H. Inmon
(Bp. Data Warehousing).
“Suatu data warehouse
sederhananya adalah suatu
penyimpanan data tunggal, lengkap
180
1001 Cara Bermain Basis Data
181
1001 Cara Bermain Basis Data
182
1001 Cara Bermain Basis Data
183
1001 Cara Bermain Basis Data
2. Drill down
Adalah kebalikan dari roll up.
Misalnya untuk setiap propinsi
dapat diberikan total penjualan,
maka total penjualan tiap kota
dapat di-drill down.
3. Pivoting
Yaitu melakukan agregasi pada
dimensi terpilih. Misalnya jika
dilakukan pivoting pada Location
184
1001 Cara Bermain Basis Data
Cross-tabulation tersebut
merupakan kumpulan dari query SQL
berikut :
SELECT SUM (S.Sales)
FROM Sales S, Times T WHERE
S.timeid = T.timeid
GROUP BY T.year
dan
SELECT SUM (S.Sales) FROM Sales
S, Location L WHERE S.timeid =
L.timeid GROUP BY L.state
Sehingga menjadi query baru
sebagai berikut :
SELECT SUM (S.Sales) FROM Sales
S, Times T, Location L WHERE
185
1001 Cara Bermain Basis Data
grain
Apa dasar data dan level atom data
yang akan disajikan?
dimensi
Dimensi apa yang dipakai untuk
masing-masing record tabel fakta?
ukuran
Ukuran apa yang akan
mengumpulkan masing-masing
record tabel fakta ?
186
1001 Cara Bermain Basis Data
187
1001 Cara Bermain Basis Data
188
1001 Cara Bermain Basis Data
189
1001 Cara Bermain Basis Data
190
1001 Cara Bermain Basis Data
RINGKASAN :
191
1001 Cara Bermain Basis Data
192
1001 Cara Bermain Basis Data
LATIHAN SOAL :
JAWABAN :
193
1001 Cara Bermain Basis Data
194
1001 Cara Bermain Basis Data
195
1001 Cara Bermain Basis Data
196
1001 Cara Bermain Basis Data
BAB 11
DATA MINING
11.1 PENDAHULUAN
Seiring dengan perkembangan
teknologi, semakin berkembang pula
kemampuan kita dalam
menggumpulkan dan meng olah data.
Penggunaan system komputerisasi
dalam berbagai bidang baik itu dalam
transaksi-transaksi bisnis, maupun
untuk kalangan pemerintah dan sosial,
telah menghasilkan data yang
berukuran sangat besar. Data-data
yang terkumpul ini merupakan suatu
tambang emas yang dapat digunakan
sebagai informasi dalam dunia bisnis.
Aplikasi basis data telah banyak
diterapkan dalam berbagai antara lain
bidang manajemen, manajemen data
untuk industri, ilmu pegetahuan,
administrasi pemerintah dan bidang-
bidang lainnya. Akibatnya data yang
dihasilkan oleh bidang-bidang tersebut
sangatlah besar dan berkembang
dengan cepat. Hal ini menyebabkan
timbulnya kebutuhan terhadap teknik-
197
1001 Cara Bermain Basis Data
198
1001 Cara Bermain Basis Data
199
1001 Cara Bermain Basis Data
1. VERIFICATION MODEL
Model ini menggunakan perkiraan
(hypothesis) dari pengguna, dan
melakukan test terhadap perkiraan
yang diambil sebelumnya dengan
menggunakan data-data yang ada.
Penekanan terhadap model ini adalah
terletak pada user yang bertanggung
jawab terhadap penyusunan perkiraan
(hypothesis) dan permasalahan pada
data untuk meniadakan atau
menegaskan hasil perkiraan
(hypothesis) yang diambil.
Sebagai contoh misalnya dalam
bidang pemasaran, sebelum sebuah
perusahaan mengeluarkan suatu
produk baru kepasaran, perusahaan
tersebut harus memiliki informasi
tentang kecenderungan pelanggan
untuk membeli produk yang akan di
keluarkan. Perkiraan (hypothesis)
dapat disusun untuk
mengidentifikasikan pelanggan yang
potensial dan karakteristik dari
pelanggan yang ada. Data-data tentang
pembelian pelanggah sebelumnya dan
200
1001 Cara Bermain Basis Data
201
1001 Cara Bermain Basis Data
2. DISCOVERY MODEL
Model ini berbeda dengan
verification model, dimana pada
model ini system secara langsung
menemukan informasi-informasi
penting yang tersembunyi dalam suatu
data yang besar. Data-data yang ada
kemudian dipilah-pilah-untuk-
menemukan suatu pola, trend yang
ada, dan keadaaan umum pada saat itu
tanpa adanya campur tangan dan
tuntunan dari pengguna. Hasil temuan
ini menyatakan fakta-fakta yang ada
dalam datadata yang ditemukan dalam
waktu yang sesingkat
rnungkin.Sebagai contoh, misalkan
sebuah bank ingin menemuan
kelompok-kelompok pelanggan yang
dapat dijadikan target suatu produk
yang akan di keluaran.
Pada data-data yang ada
selanjutnya diadakan proses pencarian
tanpa adanya proses perkiraan
(hypothesis) sebelumnya. Sampai
202
1001 Cara Bermain Basis Data
1. PENANGANAN BERBAGAI
TEPE DATA
Karena ada bermacam data dan
basis data yang digunakan dalam
berbagai aplikasi, seseorang mungkin
saja berpikir bahwa suatu sistem
knowledge discovery harus bisa
melakukan proses data mining yang
efektif terhadap berbagai jenis data.
Selanjutnya, banyak aplikasi basis data
203
1001 Cara Bermain Basis Data
2. EFISIENSI DARI
ALGORITMA DATA MINING
Untuk secara efektif melakukan
ekstraksi informasi dari sejumlah
besar data, algoritma yang digunakan
untuk mewujudkannya haruslah
efisien untuk basis data yang besar.
Yaitu, waktu eksekusi dari algoritma
tersebut haruslah sesuai dan realistis
untuk data dengan ukuran besar.
204
1001 Cara Bermain Basis Data
3. KEGUNAAN, KEPASTIAN,
DAN KEAKURATAN HASIL
Informasi yang diperoleh harus
secara akurat menggambarkan isi basis
data dan berguna untuk aplikasi
terkait. Kekurangsempurnaan yang
ada haruslah dapat diekspresikan
dengan suatu ukuran yang pasti dalam
bentuk aturan-aturan kuantitif dan
perkiraan-perkiraan yang masuk akal.
Noise dan data-data yang tidak
diperlukan harus ditangani dengan rapi
dalam sistem data mining. Hal ini juga
akan memotivasi suatu studi
sistematik untuk mengukur kualitas
dari informasi yang dihasilkan,
termasuk seberapa menariknya dan
tingkat kepercayaannya yang
dapatdiukur secara statistik, analitis
dan menggunakan model simulasi.
4. EKSPRESI TERHADAP
BERBAGAI JENIS HASIL
Berbagai macam jenis informasi
dapat diperoleh dari sejumlah besar
data. Seseorang mungkin ingin
205
1001 Cara Bermain Basis Data
5. MEMPEROLEH INFORMASI
DARI SUMBER-SUMBER
DATA YANG BERBEDA
Dengan adanya LAN (Local Area
Network) dan WAN ( Wide Area
Network) yang tersebar secara luas
dewasa ini, termasuk Internet, maka
terhubunglah – berbagai sumber data
yang terdistribusi secara luas dan
membentuk suatu basis data
206
1001 Cara Bermain Basis Data
207
1001 Cara Bermain Basis Data
208
1001 Cara Bermain Basis Data
209
1001 Cara Bermain Basis Data
Ekstraksi Data
Data-data yang dikumpulkan dalam
proses transaksi seringkali
ditempatkan pada lokasi yang
berbeda-beds. Maka dari itu
dibutuhkan kemampuan dari system
utuk dapat mengumpulkan data
dengan cepat. Jika data tersebut
disimpan dalam kantor regional,
seringkali data tersebut di upload ke
sebuah server yang lebih terpusat. Ini
bisa dilakukan secara harian,
mingguan, atau bulanan tergantung
jumlah .data, keamanan dan biaya.
Data dapat diringkas dulu sebelum
dikirimkan ke tempat penyimpanan
pusat. Sebagai contoh, sebuah toko
perangkat keras mungkin mengirim
data yang menunjukan bahwa 10 rol
kabel telah terjual pada hari ini oleh
karyawan nomer 10 dibanding
pengiriman data detail transaksi.
Transformasi Data
210
1001 Cara Bermain Basis Data
Pembersihan Data
Data-data yang telah terkumpul
selanjutnya akan mengalami proses
pembersihan. Proses pembersihan data
dilakukan untuk membuang record
yang keliru, menstandarkan attribut-
attribut, merasionalisasi struktur data,
dan mengendalikan data yang hilang.
211
1001 Cara Bermain Basis Data
Bentuk Standar
Selanjutnya setelah data mengalami
proses pembersihan maka data
ditranfer kedalam bentuk standar.
Bentuk standar adalah adalah bentuk
data yang akan diakses oleh algoritma
data mining. Bentuk standar ini
biasanya dalam bentuk spreadsheet
like. Bentuk spreadsheet bekerja
dengan baik karena baris
merepresentasikan kasus dan kolom
merepresentasikan feature.
212
1001 Cara Bermain Basis Data
Menjalankan Algoritma
Setelah semua proses diatas
dikerjakan, maka algoritma data
mining sudah siap untuk dijalankan.
213
1001 Cara Bermain Basis Data
1. MINNING ASSOCIATION
RULE
Mining association rules atau
pencarian aturan-aturan hubungan
antar item dari suatu basis data
transaksi atau basis data relasional,
telah menjadi perhatian utama dalam
masyarakat basis data. Tugas
utamanya adalah untuk menemukan
suatu himpunan hubungan antar item
dalam bentuk A1A...AAm =>
214
1001 Cara Bermain Basis Data
2. GENERALISASI,
PENCATATAN DAN
KARAKTERISASI DATA
MULTILEVEL
215
1001 Cara Bermain Basis Data
216
1001 Cara Bermain Basis Data
3. KLASIFIKASI DATA
Aplikasi lain yang penting dari
data mining adalah kemampuannya
untuk melakukan proses klasifikasi
pada suatu data dalam jumlah besar.
Hal ini sering disebut mining
classification rules. Sebagai contoh,
sebuah dealer mobil ingin
mengkiasifikasikan pelanggannya
menurut kecenderungan mereka untuk
menyukai mobil jenis tertentu,
sehingga para sales yang bekerja disitu
akan mengetahui siapa yang harus
didekati, kemana katalog mobil jenis
baru harus dikirim, sehingga hal ini
akan sangat membantu dalam hal
promosi.
Klasifikasi data adalah suatu
proses yang menemukan properti-
properti yang sama pada sebuah
himpunan obyek di dalarn sebuah
basis data, dan mengklasifikasikannya
217
1001 Cara Bermain Basis Data
218
1001 Cara Bermain Basis Data
4. ANALISA CLUSTER
Pada dasamya clustering terhadap
data adalah suatu proses untuk
mengelompokkan sekumpulan data
tanpa suatu atribut kelas yang telah
didefinisikart sebelumnya,
berdasarkan pada prinsip konseptual
clustering yaitu memaksimalkan dan
juga meminimalkan kemiripan intra
kelas. Misalnya, sekumpulan obyek-
obyek komoditi pertama-tama dapat di
clustering menjadi sebuah himpunan
kelas-kelas dan lalu menjadi sebuah
himpunan aturan-aturan yang dapat
diturunkan berdasarkan suatu
klasifikasi tertentu.
Proses untuk mengelompokkan
secara fisik atau abstrak obyek-obyek
ke dalam bentuk kelas-kelas atau
obyek-obyek yang serupa,disebut
219
1001 Cara Bermain Basis Data
5. PENCARIAN POLA,
SEKUENSIAL
Fungsi pola sekuensial
menganalisa sekumpulan rekord pada
suatu periode waktu, misalnya untuk
menganalisa trend. Anggaplah kita
memiliki suatu basis data yang
ukurannya besar, yaitu basis data
220
1001 Cara Bermain Basis Data
221
1001 Cara Bermain Basis Data
222
1001 Cara Bermain Basis Data
223
1001 Cara Bermain Basis Data
224
1001 Cara Bermain Basis Data
225
1001 Cara Bermain Basis Data
226
1001 Cara Bermain Basis Data
Diberikan:
Suatu database transaksi.
Setiap transaksi adalah suatu
himpunan item-item.
227
1001 Cara Bermain Basis Data
Contoh:
30% dari transaksi yang memuat bir
juga memuat popok 5% dari transaksi
memuat item-item berikut:
30% : confidence dari kaidah ini.
5% : support dari kaidah ini.
Definisi Umum
Itemset: himpunan dari item-item
yang muncul bersama-sama.
Kaidah asosiasi: peluang bahwa item-
item tertentu hadir bersama-sama. oX
→ Y dimana X n Y = 0.
Support, supp(X) dari suatu itemset
X adalah rasio dari jumlah transaksi
dimana suatu itemset muncul dengan
total jumlah transaksi.
228
1001 Cara Bermain Basis Data
Ukuran Support
Misalkan I={I1, I2, …,Im}
merupakan suatu himpunan dari
literal, yang disebut item-item.
Misalkan D={T1, T2, …, Tn}
merupakan suatu himpunan dari n
transaksi, dimana untuk setiap
transaksi T∈ D, T ⊆ I.
Suatu himpunan item X ⊆ I disebut
itemset.
Suatu transaksi T memuat suatu
itemset X jika X ⊆ T.
Setiap itemset X diasosiasikan dengan
suatu himpunan transaksi TX ={T∈ D
229
1001 Cara Bermain Basis Data
230
1001 Cara Bermain Basis Data
231
1001 Cara Bermain Basis Data
232
1001 Cara Bermain Basis Data
Diberikan :
Suatu database transaksi customer
(misal, keranjang belanja), dimana
setiap transaksi dalah suatu himpunan
item-item (misal produk).
Cari:
Grup item-item yang sering dibeli
secara bersama-sama.
233
1001 Cara Bermain Basis Data
Person Basket
A Chips, Salsa, coke,
crakers, cookies, beer
B Lettuce, Spinach,
Oranges, Cellery, Apples,
Grapes
C Chips, Salsa, Frozen
Pizza, Frozen cake
D Lettuce, Spinach, Milk,
Butter
Gambar 1.6. Bentuk Analisa Keranjang
Belanja
234
1001 Cara Bermain Basis Data
Kepemahaman:
Sederhana untuk dipahami.
Kegunaan:
menyediakan informasi yang bias
ditindaklanjuti.
Efisiensi:
ada algoritma pencarian yang efisient.
Aplikasi:
Analisis data keranjang pasar,
pemasaran silang, rancangan katalog,
analisis lossleader, clustering,
klasifikasi, dsb.
235
1001 Cara Bermain Basis Data
236
1001 Cara Bermain Basis Data
Confidence: menunjukkan
persentasi dari transaksi yang
memuat A yang juga. memuat B.
Minimum support σ :
High
⇒ sedikit itemset yang sering
⇒ sedikit kaidah yang sah yang
sangat sering terjadi.
Low
⇒ banyak kaidah yang sah yang
jarang terjadi.
Minimum confidence γ :
High
⇒ sedikit kaidah, tetapi selurhnya
“hampir secara logika true”.
Low
237
1001 Cara Bermain Basis Data
Transaksi:
Relational format Format Kompak
< Tid, item > < Tid, itemset >
< 1, item1 > < 1, {item1,item2}>
< 1, item2 > < 2, {item3}>
< 2, item3 >
2. ALGORITMA APRIORI
Persoalan association rule mining
terdiri dari dua sub persoalan :
1. Menemukan semua kombinasi dari
item, dise but dengan frequent
238
1001 Cara Bermain Basis Data
239
1001 Cara Bermain Basis Data
240
1001 Cara Bermain Basis Data
Dalam praktek:
Untuk pendekatan apriori dasar,
jumlah atribut dalam baris biasanya
lebih kritis ketimbang jumlah baris
transaksi.
Contoh:
50 atribut masing-masing memiliki 1-
3 nilai, 100.000 baris (tidak sangat
buruk)
50 atribut masing-masing memiliki
10-100 nilai, 100.000 baris (cukup
buruk)
Perhatian:
241
1001 Cara Bermain Basis Data
242
1001 Cara Bermain Basis Data
243
1001 Cara Bermain Basis Data
244
1001 Cara Bermain Basis Data
245
1001 Cara Bermain Basis Data
Contoh apriori :
246
1001 Cara Bermain Basis Data
247
1001 Cara Bermain Basis Data
Supp(Computer)=2/3=66.7%, supp(MS
Office)=1/3=33.3%
248
1001 Cara Bermain Basis Data
Supp(MCSE Book)=3/3=100%,
supp(Hard Disk)=2/3=66.7%
Supp(Computer,MSOffice)=1/3=33.3%
Supp(Computer,MCSE
Book)=2/3=66.7%
Supp(Computer,Hard Disk)=1/3=33.3%
Supp(MCSE Book, MS
Office)=1/3=33.3%
Supp(MCSE Book, Hard
Disk)=2/3=66.7%
Supp(MSOffice,Hard Disk)=0/3=0%
Supp(Computer, MCSE
Book,MSOffice)=1/3=33.3%
Supp(Computer, MCSE Book, Hard
Disk)=1/3=33.3%
Supp(MCSE Book, MSOffice,Hard
Disk)=0/3=0%
Supp(Computer,MCSE Book,
MSOffice,HardDisk)=0/3=0%
249
1001 Cara Bermain Basis Data
Conf(Computer → MCSE
Book)=2/2=100%
Conf(MCSE Book →
Computer)=2/3=66.7%
Conf(MCSE Book → Hard
Disk)=2/3=66.7%
Conf(Hard Disk → MCSE
Book)=2/2=100%
RINGKASAN :
250
1001 Cara Bermain Basis Data
LATIHAN SOAL :
251
1001 Cara Bermain Basis Data
252
1001 Cara Bermain Basis Data
253
1001 Cara Bermain Basis Data
254
1001 Cara Bermain Basis Data
255
1001 Cara Bermain Basis Data
256
1001 Cara Bermain Basis Data
257
1001 Cara Bermain Basis Data
258
1001 Cara Bermain Basis Data
259
1001 Cara Bermain Basis Data
260
1001 Cara Bermain Basis Data
261
1001 Cara Bermain Basis Data
262
1001 Cara Bermain Basis Data
Supp(Ink)=3/4=75%,
supp(Pen)=3/4=75%
263
1001 Cara Bermain Basis Data
Supp(Water)=3/4=75%,
supp(Milk)=3/4=75%
supp(Juice)=2/4=50%
Supp(Ink,Pen)=2/4=50%
Supp(Ink,Water)=2/4=50%
Supp(Ink,Milk)=2/4=50%
Supp(Ink, Juice)=2/4=50%
Supp(Pen, Water)=3/4=75%
Supp(Pen,Milk)=2/4=50%
Supp(Pen, Juice)=1/4=25%
Supp(Water,Milk)=2/4=50%
Supp(Water, Juice)=1/4=25%
Supp(Water,Milk)=2/4=50%
Supp(Ink, Pen,Water)=2/4=50%
Supp(Ink, Pen,Milk)=1/4=25%
Supp(Ink, Pen,Juice)=1/4=25%
Supp(Pen,Water,Milk)=2/4=50%
Supp(Pen, Water, Juice)=1/4=25%
Supp(Water, Milk,Juice)=1/4=25%
Supp(Ink, Pen, Water,Milk)=1/4=25%
Supp(Ink, Pen, Water,Juice)=1/4=25%
Supp(Pen, Water,Milk,Juice)=1/4=25%
Supp(Ink,Pen,
Water,Milk,Juice)=1/4=25%
264
1001 Cara Bermain Basis Data
Conf(Pen → Water)=3/3=100%
Conf(Water → Pen)=3/3=100%
12.1 PENDAHULUAN
Trigger adalah blok PL/SQL atau
prosedur yang berhubungan dengan
table, view, skema atau database yang
dijalankan secara implicit pada saat
terjadi sebuah event.
Tipe dari trigger adalah :
Application trigger : diaktifkan
pada saat terjadi event yang
berhubungan dengan sebuah
aplikasi.
Database trigger : diaktifkan pada
saat terjadi event yang
berhubungan dengan data (seperti
operasi DML) atau event yang
berhubungan dengan sistem
(semisal logon atau shutdown)
265
1001 Cara Bermain Basis Data
266
1001 Cara Bermain Basis Data
267
1001 Cara Bermain Basis Data
268
1001 Cara Bermain Basis Data
269
1001 Cara Bermain Basis Data
270
1001 Cara Bermain Basis Data
271
1001 Cara Bermain Basis Data
272
1001 Cara Bermain Basis Data
12.6 MENGKONFIRMASIKAN
EVENT PADA TRIGGER
Beberapa event pada trigger bisa
dikombinasikan dalam sebuah trigger
dengan menggunakan predikat
kondisional INSERTING,
UPDATING dan DELETING. Berikut
ini akan dibuat trigger yang
menggunakan predikat kondisional
INSERTING, UPDATING dan
DELETING untuk membatasi
manipulasi data pada table
EMPLOYEES hanya diperbolehkan
pada setiap jam kerja mulai hari Senin
sampai Jum’at.
273
1001 Cara Bermain Basis Data
274
1001 Cara Bermain Basis Data
275
1001 Cara Bermain Basis Data
276
1001 Cara Bermain Basis Data
277
1001 Cara Bermain Basis Data
278
1001 Cara Bermain Basis Data
RINGKASAN :
Trigger adalah blok PL/SQL atau prosedur
yang berhubungan dengan table, view,
279
1001 Cara Bermain Basis Data
280
1001 Cara Bermain Basis Data
LATIHAN SOAL :
1. Perubahan pada data hanya diperbolehkan
selama jam kerja dari jam 8:45 pagi
sampai 17.30 , dari Senin hingga Jum’at.
Buat stored procedure dengan nama
SECURE_DML untuk mencegah DML
statement dijalankan diluar dari jam kerja,
dengan menampilkan pesan “Perubahan
pada data hanya diperbolehkan hanya pada
jam kerja”.
Jawaban :
281
1001 Cara Bermain Basis Data
282
1001 Cara Bermain Basis Data
283
1001 Cara Bermain Basis Data
LATIHAN SOAL 2 :
1. Buatlah statement trigger (nama Latihan
1), yang melakukan pengecekan terhadap
update data pada table barang. Ketika
update data pada table barang maka
masukkan data tanggal sekarang pada field
tanggal dan komentar ‘Ubah data’ field
komentar, timing trigger yang dipake
adalah AFTER.
Jawaban :
CREATE OR REPLACE TRIGGER LATIHAN1
AFTER UPDATE ON BARANG
DECLARE
BEGIN
insert into log
(tanggal,komentar)values(sysdate,'ubah data');
END;
284
1001 Cara Bermain Basis Data
285
1001 Cara Bermain Basis Data
286
1001 Cara Bermain Basis Data
287
1001 Cara Bermain Basis Data
Daftar Pustaka
Armiati, Sari dan Shiyami Milwandhari. 2004.
Buku Ajar Basis Data Fundamental.
Yogyakarta: Deepublish.
ix
1001 Cara Bermain Basis Data
x
1001 Cara Bermain Basis Data
Biografi Penulis
Rengga Asmara,
lulusan SMAN 5
Surabaya dan telah
meraih gelar Sarjana
di Jurusan Teknik
Informatika, ITS
Surabaya pada tahun
2004. Dan meraih gelar Master di Politeknik
Elektronika Negeri Surabaya tahun 2017. Saat
ini beliau adalah dosen di Politeknik
Elektronika Negeri Surabaya.
( rengga.lecturer@pens.ac.id ).
xi