POLITEKNIK TELKOM
BANDUNG
2009
Tim:
Abdul Rohim
Elly Rosely
Komala Ratna Sari
Tora Fahrudin
Wahyu Hidayat
KATA PENGANTAR
Penulis,
DAFTAR ISI
KATA PENGANTAR..............................................................iii
DAFTAR ISI............................................................................iv
Daftar Gambar..........................................................................ix
Daftar Tabel.............................................................................xii
1 PENGENALAN BASIS DATA.....................................1
1.1. Data dan Informasi...........................................................2
1.2. Siklus Informasi................................................................2
1.3. Pentingnya data dan informasi.........................................3
1.4. Sistem Basis Data dan Sistem File...................................3
1.5. Definisi Basis Data dan Sistem Basis Data (DBMS).......5
1.6. Komponen Sistem Basis Data..........................................6
1.7. Abstraksi Data..................................................................7
1.8. Model Basis Data..............................................................8
1.9. Basis Data Relasional.....................................................11
1.10. Alternative Terminology................................................12
1.11. Perancangan Basis Data Relational................................13
1.12. Faktor penting menyangkut pemodelan data dari dunia
nyata................................................................................13
1.13. Metodologi Perancangan Basis Data..............................14
1.14. Bahasa Basis Data..........................................................16
2 ENTITYRELATIONSHIP MODEL............................23
2.1 ER Sebagai Salah Satu Pemodelan Konseptual Basis
Data.................................................................................24
2.2 Entitas dan Himpunan Entitas........................................24
2.3 Atribut.............................................................................26
2.4 Relasi..............................................................................27
2.5 Derajat Himpunan Relasi................................................28
2.6 Kardinalitas Relasi..........................................................30
2.7 Key..................................................................................32
2.8 Diagram ER....................................................................33
7.4.3 FULLJOIN....................................................................131
7.5 Subquery.......................................................................132
8 PENGENALAN ARSITEKTUR BASIS DATA......146
8.1 Pendahuluan..................................................................147
8.2 Struktur DBMS.............................................................147
8.3 Produk-produk DBMS..................................................149
8.4 Database Oracle............................................................149
8.4.1 Arsitektur Database Oracle..........................................149
8.4.2 Struktur Database Oracle.............................................150
8.4.3 Oracle Instance.............................................................151
8.4.4 Oracle MemoryStructure..............................................151
8.4.5 Oracle Processes Structure...........................................153
8.4.6 Oracle StorageStructure...............................................154
8.5 Arsitektur Sistem database...........................................156
8.5.1 Centralized Sistems......................................................157
8.5.2 Client-Server Sistems...................................................157
8.5.3 Parallel Sistems.............................................................158
8.5.4 Distributed Sistems.......................................................159
8.5.5 Network types...............................................................160
9 APLIKASI BASIS DATA..........................................166
9.1 Pendahuluan..................................................................167
9.2 Sistem Pendukung Keputusan (Decision-Support Sistem)
......................................................................................167
9.2.1 Analisis Data.................................................................169
9.2.2 Penggalian Data (Data Mining)....................................172
9.2.3 Penggudangan Data (Data Warehousing)....................173
9.3 Basis Data Spasial (Spatial Databases)........................175
9.3.1 Representasi Informasi Geometris................................177
9.3.2 Basis Data Perancangan................................................177
9.3.3 Data Geografis..............................................................179
9.3.4 Representasi Data Geografis........................................180
9.3.5 Aplikasi Data Geografis...............................................180
9.4 Basis Data untuk Multimedia (Multimedia Databases)181
Daftar Gambar
Daftar Tabel
Overview
Tujuan
Pada sebuah institusi, data merupakan salah satu hal yang sangat
penting. Setiap bagian/divisi dari institusi memiliki data sendiri-sendiri. Tapi
setiap bagian pun membutuhkan sebagian data dari bagian yang lain. Hal ini
yang biasa dikenal sebagai “shared data”. Setiap divisi memiliki aplikasi
sendiri-sendiri dalam melakukan manipulasi dan pengambilan data tersebut.
Setiap aplikasi memiliki file-file dalam sistem operasi yang digunakan untuk
menyimpan data-data. Seiring dengan berkembangnya institusi, bertambahnya
bagian/divisi, bertambah pula data dan aplikasi yang digunakan.
Bertambahnya aplikasi, bertambah pula file-file yang dibuat.
Gaya sistem pemrosesan-file tersebut menyebabkan setiap data
disimpan dalam bentuk record dalam berbagai macam file, dan diperlukan
aplikasi yang berbeda dalam melakukan pengambilan record dari, dan
penambahan record ke dalam file. Hal ini berlaku pada masa sebelum adanya
Sistem Basis Data (DBMS).
Tujuan utama dari sistem basis data adalah untuk menyediakan fasilitas
untuk view data secara abstrak bagi penggunanya. Namun bagaimana sistem
menyimpan dan mengelola data tersebut, hanya diketahui oleh sistem itu
sendiri. Abstraksi data merupakan level dalam bagaimana melihat data dalam
sebuah sistem basis data. Berikut ini tiga level abstraksi data:
1. Level fisik
Merupakan level terendah pada abstraksi data yang menunjukkan
bagaimana sesungguhnya data disimpan. Pada level ini pemakai
melihat data sebagai gabungan dari struktur dan datanya sendiri.
3. Level view
Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan
sebagian dari basis data. Banyak user dalam sistem basis data tidak
akan terlibat dengan semua data atau informasi yang ada atau yang
disimpan. Para user umumnya hanya membutuhkan sebagian data atau
informasi dalam basis data yang kemunculannya di mata user diatur
oleh aplikasi end user.
Basis data relasional memiliki satu struktur “lojik” yang disebut Relation
(relasi). Struktur relasi merupakan strukture data 2-dimensi dan pada level
“fisik” berupa table (tabel). Attribute merepresentasikan elemen dari data
yang berkaitan dengan relasi. Sebagai contoh, relasi Mahasiswa memiliki
atribut-atribut seperti nim, nama, tempat lahir. tanggal_ lahir, dan alamat.
Nilai data dari atribut dari sebuah relasi akan disimpan dalam tuple
atau row (baris) dari tabel. Gambar dibawah merupakan ilustrasi dari sebuah
relasi.
1.10.Alternative Terminology
Table-oriented Set-oriented Record-Oriented
Istilah ‘dunia nyata’ (real world) bermakna terhadap keseluruhan data yang
belum terstruktur yang secara nyata ada/terkait dalam lingkup sistem yang
sedang ditinjau. Dunia nyata disini bisa dikatakan sebagai sebuah domain
secara utuh/penuh maupun subdomain, sebagai contoh jika kita menganggap
suatu perusahaan sebagai suatu domain maka kita dapat menganggap unit-unit
yang ada dalam perusahaan tersebut adalah subdomain atau bisa saja sebuah
proses bisnis atau aktivitas yang ada di perusahaan tersebut juga bisa kita
anggap sebagai sebuah subdomain bahkan domain. Setiap dunia nyata (real
world) yang ada memiliki karakter yang tidak sama/unik. Sebagai contoh
dunia nyata bagi sistem perbankan pasti tidak sama dengan dunia nyata bagi
sistem rumah sakit. Pertanyaannya adalah apakah dunia nyata di bank yang
satu dengan bank yang lain pasti sama?
Secara umum ada dua tahapan proses perancangan basis data, yaitu :
Sasaran dari perancangan logika basis data adalah fleksibilitas model data
yang dihasilkan dan efisiensi pengimplementasiannya dalam komputer.
1. Pendekatan konvensional
Perancangan basis data tanpa melalui tahap perancangan konseptual. Secara
umum mempunyai tahapan perancangan sebagi berikut:
Implementasi
melalui DBMS
Pembuatan Normalisasi
REAL Model Skema Basis
WORLD Data Basis Data
Model
Relasi Data
relasi
2. Pendekatan Entity-Relationship
Imple-
mentasi
Normalisasi melalui
Pembuatan
Model Model Skema DBMS
REAL Data Data Basis Basis
WORLD E-R Relasi Data Data
Model
Kon-
septual
Gambar 1-9Pendekatan ER
3. Transaction control
Transaction control adalah bahasa basis data yang mengatur transaksi
yang dilakukan oleh Data Manipulation Language (DML). Transaction
control ini memiliki peran yang sangat besar untuk menentukan dilakukan
atau tidaknya perubahan-perubahan data yang ada pada basis data. Contoh
dari transaction control ini adalah perintah commit dan rollback.
4. Teradapat tiga level abstraksi data yaitu dari yang paling dasar adalah level
fisik, level lojik, dan level view.
5. Basis data relasional memiliki satu struktur “lojik” yang disebut Relation
(relasi). Struktur relasi merupakan struktur data 2-dimensi dan pada level
“fisik” berupa table (tabel).
Kuis Benar Salah
8 Hal yang benar mengenai level view pada abstraksi data adalah…
Merupakan level terendah Berhubungan langsung dengan
A abstraksi D user
Dapat direpresentasikan dengan Salah satu level konseptual
B diagram ER. E abstraksi data
Berhubungan dengan indexing,
fragmenting, dan crash
C recovery
1
0 Kelebihan DBMS kecuali…
A Data Independence D Crash recovery
B Data integrity E Salah semua
C Data avaibility
Overview
Salah satu pemodelan basis data secara konseptual adalah pemodelan berbasis
relasi antar entitas. Pemodelan ini dikenal karena mudah dimengerti. Konsep
utama dari pemodelan ini berakar pada Entitas entitas dan relasi antar entitas.
Pada bab ini akan di bahas pengertian entitas, atribut dan relasi, derajat
himpunan relasi, kardinalitas relasi, serta pengenalan key sebagai salah satu
constraint dalam ER.
Tujuan
Sumarno
entitas orang
Mahasiswa
an entitas orang yang mempunyai kesamaan karakteristik yaitu nim, prodi, dsb membentuk himpunan entitas ‘mahas
Atribut Entitas
Entitas 1
Entitas 2
Entitas 3
MAHASISWA
ipk
prodi
nama #nim
Mahasiswa
1.4 Relasi
ER menggambarkan entitas-entitas dengan atributnya yang saling
berelasi. Relasi menggambarkan hubungan antara entitas satu dengan entitas
yang lain sesuai dengan proses bisnisnya. Notasi relasi didalam diagram ER
digambarkan dengan notasi belah ketupat.
Perhatikan contoh relasi antara mahasiswa dengan organisasi berikut.
mempunyai
Mahasiswa Organisasi
mempunyai
Gambar 2-15 Relasi di gambarkan dengan belah ketupat
Bambang
Organisai Pecinta Satwa
Sumarno
Mempunyai organisasi Pecinta Satwa
Di semester 1 tahun ajaran 2008/2009
1.7 Key
Penggunaan key merupakan cara untuk membedakan suatu entitas
didalam himpunan entitas dengan entitas lain. Key dipilih karena unik, untuk
setiap entitas sehingga bisa di bedakan dari entitas yang lain. Kita bisa
mendefinisikan key sebagai satu atau gabungan dari beberapa atribut
yang dapat membedakan semua row dalam relasi secara unik.
Macam key ada 3 yaitu :
Superkey
Superkey yaitu satu atau lebih atribut (kumpulan atribut) yang
dapat membedakan satiap baris data dalam sebuah relasi
secara unik. Contoh super key yaitu =
• Nim, nama, alamat, kota
• Nim, nama, alamat
• Nim, nama
• Nim
Candidate key
Kumpulan atribut minimal yang dapat membedakan setiap
baris data dalam sebuah relasi secara unik. Contoh Nim
Primary key
Primary key merupakan salah satu dari candidate key yang
terpilih. Alasan pemilihan primary key :
• Lebih sering di jadikan acuan
• Lebih ringkas
• Jaminan keunikan key lebih baik
Contoh dari primary key adalah Nim
1.8 Diagram ER
Merupakan diagram model konseptual untuk menggambarkan struktur
logis dari basisdata berbasis grafis.
#kd_org
nama kota nama
#nim
#kd_org
nama kota nama
#nim
#kd_org
nama kota nama
#nim
Pilihan Ganda
Berikut ini merupakan domain value set bagi sebuah atribut didalam konse
3. EntityRelationship, kecuali _________
D
A. Simple . Multivalued
B. Composit E. Surrogate key
C. Single value
Dibawah ini merupakan alasan yang benar tentang makna Atribut
4. deskriptif ________
Muncul hanya jika 2 entitas D Atribut yang dipercaya sebagai
A. bertemu di sebuah relasi . key
B. Dibolehkan di konsep ER E. Pernyataan di atas salah semua
Atribut yang di turunkan dari
C. atribut lain
5.
Pada gambar di atas, derajat himpunan relasinya adalah ________
D
A. Unary . Four-ary
B. Binary E. Tidak ada jawaban yang benar
C. Ternary
Latihan
2 KONVERSI ER KE TABEL
Tujuan
Pegawai Tunjangan
2.2 Spesialisasi
Spesialisasi merupakan proses desain top-down dengan mendesain
subgrouping didalam didalam himpunan entitas yang berbeda dari himpunan
entitas. Tujuan dari spesialisasi adalah memberikan gambaran konseptual
tentang perbedaan karakteristik dari himpunan entitas yang hampir serupa
dengan konsep sub grouping / pengelompokan.
Subgrouping di atas menjadi himpunan entias yang levelnya lebih
rendah dan memiliki atribut tersendiri yang tidak dimiliki pada level di
atasnya. Atribut ini khas dan merupakan pembeda dari entitas di subgroup
yang lain. IS Adinotasikan dengan gambar segitiga berlabel IS A.
Sifat dari spesialisasi adalah inheritan atribut yaitu atribut pada level
tinggi secara otomatis akan di turunkan pada level di bawahnya.
nam a # Id_pegawai
P egaw ai
G a j i P e r B u la n
U pah Per Jam
IS A
B esar J u m la h J a m K e r j a
Perancangan
tunja ng a n Basis data 43
P e g a w a i T e ta p P eg aw ai H o no rer
Gambar 3-30 Contoh Spesialisasi
2.3 Generalisasi
Generalisasi merupakan proses desain bottom-up dengan
mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama
sama. Spesialisasi dan generalisasi sama sama digambarkan dengan notasi IS
A, yang membedakan adalah sudut pandangnya saja. Jika Spesialisasi kita
mendefinisikan entitas secara umum kemudian mencari subgroup dari entitas
tersebut, tetapi generalisasi memandang sebaliknya, dari adanya
subgroupsubgroup yang berbeda kemudian di cari entitas umum yang
mewakili 2 himpunan entitas tersebut.
2.4 Agregasi
Agregasi adalah enkapsulasi dari entitas entitas yang berelasi (*n-n).
Pada umumnya terbentuk dari kardinalitas relasi banyak ke banyak. Didalam
konsep agregasi terdapat istilah enkapsulasi relasi dari kedua entitas.
Enkapsulasi di perlukan karena kedua himpunan entitas yang ber-relasi
tersebut merupakan 1 kesatuan yang tidak bisa di pisah. Notasi agregasi di
gambarkan dengan gambar persegi panjang yang membungkus himpunan
entitas yang saling ber-relasi.
Gambar 3-33Ringkasan
Notasi pada Diagram ER
1 ke banyak / banyak ke 1
Primary key pada Tabel berkardinalitas sedikit menjadi foreign key
pada tabel berkardinalitas banyak.
Banyak ke banyak
Sudah jelas di atas
2.11 Representasi Spesialisasi (IS A)
Ada 2 pendekatan yang dipakai didalam menurunkan spesialisasi
kedalam tabel.
Pendekatan 1
– Bentuklah tabel untuk level entitas yg lebih tinggi
– Bentuklah tabel untuk level entitas yg lebih rendah
(*dengan memasukkan primary key pada level yg lebih tinggi ke
tabel dengan level yang lebih rendah)
Pendekatan 2
– Bentuklah tabel untuk tiap himpunan entitas dengan semua atribut
lokal dan turunan.
– Bisa jadi tabel pada level tinggi tidak perlu di simpan jika spesialisasi
adalah total. Jika diperlukan bisa dibuat view yang menggabungkan
tabel-tabel spesialisasi.
Rangkuman
1.
kardinalitas relasinya adalah________
D
A. Banyak ke Banyak . Banyak ke Banyak
B. 1 ke 1 E. Salah semua
C. 1 ke Banyak
Banyak tabel yang bisa di hasilkan dari relasi di soal nomor 4 di atas
5. adalah _________
D
A. 3 Tabel . 6 Tabel
B. 4 Tabel E. 7 Tabel
C. 5 Tabel
6
A. Himpunan Entitas D Relasi
.
B. Himpunan Entitas Lemah E. Atribut
C. Himpunan Entitas Kuat
Banyak tabel yang bisa di hasilkan dari relasi di soal nomor 4 di atas
7. adalah _________
A. 3 Tabel
B. 4 Tabel E. 7 Tabel
C. 5 Tabel
C Network
1
Semua ER adalah benar. Pernyataan tersebut _______
0
D
A Mutlak benar . Tidak di ikuntukan menjadi kolom
B Mutlak salah E. Tidak ada jawaban yang tepat
Mutlak salah karena hanya ada
C 1 ER yang benar
Tujuan
Tabel di atas adalah contoh tabel yang memiliki desain yang kurang baik.
Perhatikan bahwa jika kita ingin meng-update jumlah sks mata kuliah
English dari 2 menjadi 3 sks, maka kita harus mengupdate lebih dari 1
record, yaitu baris 2 dan 4.
Jika hanya salah satu baris saja yang di-update, maka data menjadi tidak
konsisten (ada mata kuliah English dengan 2 sks dan ada mata kuliah
English dengan 3 sks) . Kondisi seperti inilah yang disebut dengan
update anomaly.
Pada tabel yang sama seperti contoh di atas, terjadi pula insertion
anomaly. Misalkan terdapat mahasiswa baru dengan nim 1-02 bernama
‘Zubaedah’ dengan kode jurusan ‘TE’ dan nama jurusan ‘Elektro’.
Data mahasiswa tersebut tidak dapat dimasukkan ke dalam tabel sebab
dia belum mengambil kuliah apapun (misalnya karena belum melakukan
registrasi). Kondisi inilah yang disebut dengan insertion anomaly.
Pada contoh tabel di atas terjadi deletion anomaly. Perhatikan bahwa jika
kita menghapus data mahasiswa bernama ‘Maemunah’ maka kita harus
menghapus data pada baris ke 5, hal ini akan mengakibatkan kita juga
kehilangan data mata kuliah ‘Database’. Kondisi inilah yang disebut
dengan deletion anomaly.
Candidate key dari tabel mata_kuliah dipilih dari super key yang sudah ada.
Super key yang akan menjadi candidate key adalah super key yang tidak
mengandung super key lain di dalamnya.
Perhatikan 5 super key yang sudah kita peroleh dari analisis sebelumnya:
1. (kode_mk)
2. (nama_mk)
3. (kode_mk,nama_mk,semester)
4. (kode_mk,nama_mk, sks)
5. (kode_mk,nama_mk, semester, jml_temu)
Super key yang hanya teridiri dari satu atribut data pasti akan menjadi
candidate key sebab tidak mungkin mengandung super key yang lain. Oleh
karena itu super key pada poin 1 dan 2 otomatis menjadi candidate key.
Super key pada poin 3 tidak menjadi candidate key sebab dalam kombinasi
(kode_mk, nama_mk, semester) terdapat super key yang lain yaitu (kode_mk).
Dengan demikian, poin 4 dan 5 juga bukan candidate key.
Dari analisis ini, kita memperoleh 2 buah candidate key yaitu
(kode_mk) dan (nama_mk). Salah satu dari beberapa candidate key ini akan
dipilih untuk digunakan dalam DBMS sebagai primary key. Ada beberapa
pertimbangan untuk memilih primary key, di antaranya adalah jaminan
keunikan yang lebih kuat, representasi yang lebih baik dan lain-lain.
2.16 Functional Dependencies
Functional dependency (FD) atau kebergantungan fungsional adalah
constraint atau batasan/ ketentuan antara 2 buah himpunan atribut pada
sebuah tabel.
JIka A dan B adalah himpunan atribut dari tabel T, kebergantungan
fungsional antara A dan B biasanya dinyatakan dalam notasi notasi A à B.
Notasi A B berarti:
A menentukan B
B secara fungsional bergantung kepada A.
Tabel T versi ke dua ini juga belum memenuhi sayarat 1 st NF karena kolom
telepon bersifat multivalue.
Perhatikan bahwa:
1. (nim, kode_mk) adalah candidate key
2. FD1: (nim) à (nama_mhs, kd_jur, nama_jur)
3. FD2: (kode_mk) à (nama_mk, sks)
4. FD3: (nim,kode_mk) à nilai
Walaupun tabel T-1 telah memenuhi syarat 1st NF namun karena terjadi
partial functional dependency maka tabel T-1 belum memenuhi syarat 2nd NF.
Solusinya adalah dengan melakukan dekomposisi terhadap tabel T-1
dengan tetap menjaga agar datanya tetap konsisten. Hal ini dapat dilakukan
dengan melakukan dekomposisi tabel sesuai FD1, FD2 dan FD3 yang telah
kita analisis sebelumnya. Adapun hasil dekomposisi dari tabel T-1 adalah 3
tabel berikut ini:
Tabel 4-13Contoh Tabel T-1-1
NI Nama_Mh Kd_Ju Nama_Jur
M s r
1-01 Tukimin TE Elektro
2-01 Jamilah IF Informatik
a
2-02 Maemuna IF Informatik
h a
Perhatikan bahwa:
FD1: (nim) à (nama_mhs, kd_jur, nama_jur)
FD2: (kd_jur) à (nama_jur)
Jarang ada kasus dimana sebuah tabel memenuhi 3rd NF tapi tidak
memenuhi BCNF. Umumnya sebuah tabel dikategorikan sudah ‘cukup
normal’ jika sudah memenuhi kriteria BCNF. Jika tidak memungkinkan untuk
memenuhi kriteria BCNF, maka 3rd NF juga sudah dianggap cukup memadai.
2.18 Denormalisasi
Denormalisasi adalah proses menggandakan data secara sengaja
(sehingga menyebabkan redundansi data) untuk meningkatkan performa
database, untuk meningkatkan kecepatan akses data atau memperkecil
query cost.
Yang perlu diingat tentang denormalisasi adalah bahwa denormalisasi
tidak sama dengan tidak melakukan normalisasi. Denormalisasi dilakukan
setelah tabel dalam kondisi ‘cukup normal’ (mencapai level bentuk normal
yang dikehendaki).
Salah satu contoh teknik Denormalisasi adalah Materialized Viewpada
DBMS Oracle. Materialized view adalah teknik menggandakan data dengan
cara membuat tabel semu berupa view fisik (yang benar-benar dituliskan di
disk, bukan sebatas di memory). Materialized view biasanya dibuat dari hasil
join beberapa tabel yang sering diakses tapi jarang diupdate.
Materialized view akan menyebabkan redundansi data, namun sebagai
imbalannya kecepatan akses data meningkat drastis sebab data dapat langsung
diakses melalui materialized view tanpa harus menunggu query
menyelesaikan operasi join dari beberapa tabel.
Ada beberapa alasan melakukan denormalisasi:
1. Mempercepat proses query dengan cara meminimalkan cost yang
disebabkan oleh operasi join antar tabel
2. Untuk keperluan Online Analytical Process (OLAP)
3. Dan lain-lain
Adapun konsekuensi denormalisasi adalah sebagai berikut:
1. Perlu ruang ekstra untuk penyimpanan data
2. Memperlambat pada saat proses insert, update dan delete sebab proses-
proses tersebut harus dilakukan terhadap data yang redundant (ganda)
Dengan demikian dapat disimpulkan bahwa denormalisasi harus dilakukan
dengan bijak sebab walaupun memiliki beberapa keuntungan namun juga
memiliki konsekuensi yang patut diperhitungkan.
A-01 Jamal B-02 Buku Itu Non Fiksi R-02 31-Jan-09 23-Feb-09
A-02 Jawilem B-02 Buku Itu Non Fiksi R-02 14-Feb-09 23-Feb-09
A-02 Jawilem B-02 Buku Itu Non Fiksi R-02 23-Feb-09 1-Mar-09
Overview
Tujuan
Dalam bab ini akan dibahas Bahasa Query prosedural, bahasa ini
memilikisejumlah operasi yang menggunakan satu atau beberapa relasi/tabel
sebagai inputan dan menghasilkan sebuah relasi/tabel sebagai outputnya.
Aljabar Relational sebagai dasar dari bahasa ini merupakan suatu kumpulan
operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih
relasi untuk menghasilkan suatu relasi yang baru. Operasi-operasi dasar dalam
Aljabar Relational sendiri dibagi menjadi 2 (dua) yaitu Unary dan Binary.
Operasi Unary adalah operasi yang hanya memerlukan satu operasi saja. Yang
termasuk didalamnya adalah Select,Project dan Rename. Sedangkan operasi-
operasi yang membutuhkan lebih dari satu relasi (sepasang relasi atau lebih)
disebut Binary,contohnya adalah Unio, Set Difference, Cartessian Product.
T_kuliah
kode_mk mata_kuliah sks semester
IS_001 Database 3 3
IS_002 Aljabar_Relational 2 3
CA_003 Calculus 3 1
CE_007 Citizenship 2 2
T_Dosen
Kd_dosen Nama_dosen Alamat Tgl_lahir
KML Komala Ratna Bandung N0.1 12-12-1984
HRA Henry Rossi Jakarta No.37 11-11-1983
HNP Hanung Jakarta No.57 10-10-1980
DAN Dahliar Ananda Surabaya 90 9-9-1982
T_ mahasiswa
NIM Nama Tempat_lahir Tgl_Lahir
3010001 Ahmad Jakarta 3-3-1989
3010003 Nita Surabaya 4-4-1988
3010054 Richard Medan 1-1-1990
3010066 Amelia Jakarta 2-2-1990
T_nilai
Kode_mk NIM Indeks
IS_001 3010001 A
IS_002 3010003 A
CA_003 3010003 C
CE_007 3010054 B
Operasi Project
dimana s atau daftar atribut yang berisi satu atau lebih field yang ingin
ditampilkan dari E1.
Sehingga jika kita ingin menghasilkan tampilan yang berisi data NIM dan
Nama_mahasiswa maka query-nya adalah sebagai berikut,
π<NIM,Nama_mahasiswa > (mahasiswa)
Sebagai catatan, operasi yang dapat diprojeksikan bukan hanya dari tabel
tetapi bisa juga dari suatu operasi/query.
Sebagai contoh, saat akan menampilkan hasil dari tabel kuliah dan tabel nilai
yang mendapatkan indeks “A”, maka operasinya dapat kita tuliskan sebagai
berikut:
Pada dasarnya untuk melihat adanya satu keterhubungan antara satu tabel
dengan tabel yang lainnya adalah ditandai dengan adanya satu field yang
sama. Misal antara t_kuliah dan t_nilai (tabel kuliah dan tabel nilai) sama-
sama memiliki field kode_mk.
Jika ingin menampilkan hasil dari suatu query dimana tidak ada relasi
langsung antar tabel-tabel yang terkait (tidak ada field yang sama) maka bisa
kita libatkan tabel lain yang memiliki keterhubungan antara tabel tersebut.
Contoh untuk menghasilkan list mahasiswa yang mengambil mata kuliah
IS_001. Tabel kuliah dan tabel mahasiswa tidak memiliki keterhubungan
secara langsung tetapi keterhubungannya dapat kita lihat dari tabel nilai.
Sehingga kita bisa membuat suatu query seperti dibawah ini:
Dari contoh diatas dapat terlihat bahwa Operasi Cartesian Product tidak
berdiri sendiri tetapi melibatkan operasi-operasi yang lainnya untuk
mendapatkan hasil query yang kita inginkan.
T1 UT2
Sehingga jika kita ingin memproyeksikan kedua tabel diatas maka kita bisa
menggunakan operasi Unio dengan bentuk sebagai berikut :
Πtempat_lahir(t_dosen)U Πtempat_lahir(t_mahasiswa)
T1 – T2
Dapat dikatakan juga bahwa operasi adalah operasi terhadap relasi yang
terdiri dari semua baris di T1, tetapi tidak ada di T2. Operasi ini juga memiliki
syarat yang sama dengan operasi Unio yaitu harus UnioCompatible.
T_kuliah_MI
Kode_mk Mata_kuliah SKS Semester
MI_002 Kalkulus 3 1
MI_002 Aljabar Linear 2 2
CA_001 Database 4 2
CE_003 Java 3 3
T_kuliah_TK
Kode_mk Mata_kuliah SKS Semester
MI_002 Kalkulus 3 1
MI_002 Aljabar Linear 2 2
TK_001 English 2 2 2
CE_007 Software 3 3
Πmata_kuliah(t_kuliah_MI)–mata_kuliah(t_kuliah_TK)
Mata_kuliah
Database
Java
Dari contoh diatas didapatkan bahwa operasi ini akan menemukan tuple-tuple
yang berada pada satu relasi tetapi tidak berada pada relasi yang Lainnya
T1 Ç T2
Selain simbol diatas dapat disimbolkan juga dengan bentuk set difference
seperti dibawah ini :
T1 – (T1-T2)
T1ÇT2 menghasilkan suatu relasi yang berisi instan – instan yang terjadi baik
pada T1 dan T2. Relasi T1 dan T2 harus Unio – Compatible.
2.27 Join
R |x|<kondisi join> S
Operator pembandinganyang digunakan dalam operasi join yaitu {=, <, ≤, >,
≥, ≠}
Operasi join sendiri memiliki beberapa tipe lagi, untuk yang pertama adalah
Naturaljoin dimana NaturalJOIN menghubungkan tabel dengan memilih
hanya record dengan nilai yang digunakan bersama-sama pada atribut yang
sama. Operator ini akan menghasilkan tiga tahapan proses:
PRODUCT
SELECT
PROJECT
Operasi join yang lain adalah EquiJOIN menghubungkan tabel didasarkan
pada kondisi yang sama dengan memban-dingkan kolom tertentu setiap tabel.
Hasil equiJOIN tidak menghilangkan kolom dupli-kat dan kondisi atau
kriteria penggabungan tabel harus terdefinisi secara eksplisit.
Pada OuterJOIN pasangan data yang tidak cocok akan tetap dipertahankan
dan nilai untuk tabel lainnya yang tidak cocok akan dibiarkan
kosong.Outerjoin sendiri terdiri dari tiga jenis, yaitu leftouterjoin,
rightouterjoin, dan fullouterjoin.
Untuk fungsi yang terakhir yaitu fungsi count terdapat perluasan dalam fungsi
tersebut yaitu yang diberi nama Count_distict. Fungsi Count_distict akan
menghitung nilai atribut yang unik.
A B B
a1 b1 b1
a2 b1 b2
a2 b2
a3 b2
Perancangan Basis data 87
p B (s B = b1 (T1)) pA, B (T1) / pB (T1)
A
B
a2
b1
A
a1
a2
Rangkuman
Latihan
Overview
Tujuan
2.30 Pendahuluan
Relational Database Management System(RDBMS) seperti Oracle,
Microsoft SQL Server, ProstGreSQL dan MySQL merupakan komponen
utama dalam dalam sebuah sistem informasi saat ini bahkan untuk sistem-
sistem yang berbasis intranet dan internet
2. Transact SQL
Dialek yang dikembangkan oleh Microsoft yang membuat sebuah
produk DBMS yang diberi nama Microsoft SQL Server. Transact
SQL ini merupakan hasil kerjasama dengan Sybase Adaptive
Server.
3. PL/PgSQL
Seperti juga pada Oracle, PostgreSQL mengembangkan bahasa
procedural tersendiri yang lebih jauh berkembang sehingga
memungkinkan untuk mengakomodasi ObjectOrientedDatabase
Management System
Mahasiswa
Contoh lain akan dibuat tabel kurikulum yang mempunyai primary key
KodeMK dan KodeKur.
KodeMK KodeJur MamaMK
Sks
Status
Kurikulum
Kalau tadi sudah dibentuk satu tabel dengan primary key, berikut akan
dibentuk tabel yang mempunyai Foreign key. Sebagai contoh akan dibuat
tabel Jurusan dan tabel mahasiswa sebagai berikut:
KodeJur
Mahasiswa
Memilih
Jurusan
KodeJur NamaJur
Gambar 6-45Entitas Mahasiswa dan Jurusan
Tabel Mahasiswa
Nim Nama Alamat KodeJur
Tabel Jurusan
KodeJur NamaJur
Gambar 6-46Relasi Tabel Mahasiswa dan Tabel Jurusan
Jenis Data
Tabel 6-23Jenis Data pada Oracle
Tipe Data Keterangan
BOOLEAN Data lojikal dengan nilai TRUE atau FALSE.
DATE mulai 1 Januari 4712 SM sampai dengan 31
Desember 9999.
NUMBER [(p [,s])] Tipe data numerik dengan p angka penting dan
sejumlah s angka penting di belakang koma.
Nilai p adalah integer dengan nilai maksimal 38
dan nilai s berada pada rentang -84 sampai
dengan 127. Nilai s negatif berarti pembulatan
sampai dengan 10s terdekat.
FLOAT Turunan dari NUMBER. Presisi sampai dengan
38 digit.
DOUBLE PRECISION Sama dengan FLOAT.
REAL Turunan dari number. Presisi sampai dengan 18
digit.
DEC [(p [,s])] Sama dengan NUMBER [(p [,s])].
DECIMAL [( p [,s])] Sama dengan NUMBER [(p [,s])].
NUMERIC [(p [,s])] Sama dengan NUMBER [(p [,s])].
INTEGER [(n)] Sama dengan NUMBER [(n,0)].
INT [(n)] Sama dengan NUMBER [(n,0)].
SMALLINT [(n)] Sama dengan NUMBER [(n,0)].
BINARY_INTEGER Tipe variabel ini digunakan menyimpan nilai
Menambahkan Kolom
Pada tabel mahasiswa akan ditambahkan kolom tahun masuk. Perintah
SQLnya sbb:
Merubah Kolom
Akan dilakukan perubahan pada panjang data Alamat dari 75 karakter
menjadi 100 karakter. Perintah SQLnya sb:
Misalkan akan dihapus primary key pada tabel mahasiswa, perintah SQLnya
sbb:
Menghapus ForeignKey
Penghapusan foreignkey berarti memutus hubungan antar tabel yang sudah
saling terkait. Perintah SQL yang dibuat hampir sama dengan penghapusan
primary key. Perintah SQL untuk melakukan penghapusan foreignkey adalah
sbb:
MenambahkanForeignKey
Akan ditambahkan foreignkey untuk tabel mahasiswa yang tadi telah
dihapus hubungan dengan tabel jurusan nya. Perintah SQLnya sbb:
Perintah update ini akan mengubah isi kolom data yang jika tidak
disikan kondisi Where data maka akan mengubah seluruh kolom yang ada di
seuruh baris. Oleh sebab itu untuk membuat perubahan data harus selalu
diperhatikan kondisi data yang akan dilakukan perubahan.
Misalnya akan dilakukan perubahan nama pada nama=Aji menjadi Aji
Santoso. Maka kondisi yang harus dibuat adalah Nim sebagai key pada tabel
tersebut, Where Nim='32121001' .
UPDATE Mahasiswa
SET Nama='Bayu Adji', Alamat='Jl. Sukarame
15'
WHERE Nim='32121002';
2.33.3 MenghapusData
Struktur umum penulisan perintah untuk menghapus data adalah sbb:
Perintah delete akan menghapus satu baris data atau lebih tergantung
pada kondisi Where yang diberikan. Sebaiknya setipa melakukan proses
penghapusan data maka kondisi penghapusan harus terdefinisi dengan baik,
jika tidak maka akan kehilangan data.
Untuk latihan select ini akan digunakan tabel Mahasiswa, Jurusan dan
Kurikulum seperti berikut ini:
Tabel 6-26Data Jurusan
KodeJur NamaJur
12 Teknik Komputer
22 Komputer Akuntansi
32 Manajemen Informatika
Tabel 6-27Data Mahasiswa
NIM NAMA Alamat KodeJur
3212100 Aji Jl. Abc 123 32
1
3212100 Bayu Jl. Melati 10 32
2
1212100 Sonny Jl. Ahmad Yani 121 12
1
1212100 Putra Jl. Terate 15 12
2
2212100 Ali Jl. Suka 12 22
1
Struktur dasar penulisan perintah select adalah sbb:
SELECT nama_kolom
FROM nama_tabel
[WHERE kondisi]
[ORDER BY mode_urutan_data]
Penulisan alias pada kolom dapat juga dituliskan tanpa keyword AD,
sehingga perintah SQL nya menjadi sbb:
SELECT KodeJur Kode, KodeJur AS Jurusan
FROM Jurusan
SELECT nama_kolom
FROM nama_tabel
[WHERE kondisi]
WHERE Sks=2
SELECT nama_kolom
FROM nama_Tabel
ORDER BY nama_kolom ASC | DESC
Latihan
Pilihan Ganda
4 Create ______
A. tidak perlu diisi apapun D. diisi dengan Database
B. diisi bebas saja E. Diisi dengan tanda kutif
C. diisi dengan Table
5 No integer, _____
A. tidak perlu diisi apapun D. diisi dengan Primary key
B. diisi bebas saja E. Diisi dengan Constranints
C. diisi dengan NULL
Tujuan
Jumlah
5
Dilihat dari hubungan antar tabel seperti yang terlihat pada gambar
dibawah ini adalah sbb:
Tabel Jurusan
KodeJur NamaJur
Mahasiswa.kodeJur = Jurusan.KodeJur
SELECT nama_kolom
FROM nama_tabel_1
INNER JOIN nama_tabel_2
ON kolom_relasi_tabel
SELECT nama_kolom
FROM nama_tabel AS nama_alias
Tabel 7-45Pengarang
KodePeng NamaPeng KotaTinggal
172-32-1176 Johnson White Menlo Park
213-46-8915 Marjorie Green Oakland
238-95-7766 Cheryl Carson Berkeley
267-41-2394 Michael O'Leary San Jose
274-80-9391 Dean Straight Oakland
341-22-1782 Meander Smith Lawrence
409-56-7008 Abraham Bennet Berkeley
427-17-2319 Ann Dull Palo Alto
472-27-2349 Burt Gringlesby Covelo
486-29-1786 Charlene Locksley San Francisco
Tabel 7-46Penerbit
NamaPen Kota
New Moon Books Boston
Binnet & Hardley Washington
Algodata Infosistems Berkeley
Five Lakes Publishing Chicago
Ramona Publishers Dallas
GGG&G München
Scootney Books New York
Lucerne Publishing Paris
2.38.1 LEFTJOIN
Bentuk umum penulisan LEFTJOIN adalah sbb:
SELECT nama_kolom
FROM nama_tabel_1
LEFTJOIN nama_tabel_2
ON relasi_tabel
2.38.2 RIGHTJOIN
Bentuk umum penulisan RIGHTJOIN adalah sbb:
SELECT nama_kolom
FROM nama_tabel_1
RIGHTJOIN nama_tabel_2
ON relasi_tabel
2.38.3 FULLJOIN
Bentuk umum penulisan FULLJOIN adalah sbb:
SELECT nama_kolom
FROM nama_tabel_1
FULLJOIN nama_tabel_2
ON relasi_tabel
2.39 Subquery
Subquery adalah sebuah bentuk perintah SELECT yang
mengembalikan nilai yang ada kepada perintah lain berupa perintah SELECT,
INSERT, UPDATE dan DELETE atau dengan kata lain subquery adalah
query dalam query.
Subquery merupakan alternative dalam membuat perintah SQL yang
menggunakan JOIN, dimana hal ini dibuat untuk meningkatkan
performanceterhadap perintah query tersebut. namun demikian, tergantung
kepada data jika kalau ingin dibandingkan mana yang lebih baik antara
subquery dengan JOIN ini.
Subquery dapat ditempatkan pada perintah SELECT setelah klausa
Select, From, Where, GroupBY dan Having. Umumnya perintah sub Query
ini mengikuti format sebagai berikut:
WHEREekspresi [NOT] IN(subquery)
WHEREekspresioperator perbandingan [ANY | ALL] (subquery)
WHERE [NOT] EXISTS(subquery)
Operator IN
Subquery dengan menggunakan operatorIN adalah akan me-list hasil
dari subquery untuk dibandingkan dengan ekspresi where yang diberikan.
Subquery akan dijalankan terlebih dahulu baru kemudian query pemanggilnya
akan dijalankan.
Berikut contoh perintah Subquery untuk menampilkan nama penerbit
untuk buku yang berjenis business dengan menggunakan operatorIN
SELECT NamaPen
FROM Penerbit
WHERE kodePen IN
(SELECT kodePen
FROM Buku
WHERE jenis='business')
SELECT NamaPen
FROM Penerbit
WHERE kodePen IN (‘1389’, ‘1389’,’0736’,
‘1389’)
SELECT NamaPen
FROM Penerbit
WHERE kodePen NOT IN
(SELECT kodePen
FROM Buku
WHERE jenis='business')
Operator EXISTS
Operator Exists ini akan melakukan pemeriksaan terhadap hasil
subqery apakah menghasilkan baris-data atau tidak, jika subquery tersebut
SELECT NamaPen
FROM Penerbit p
WHERE EXISTS
(SELECT *
FROM Buku b
WHERE b.KodePen= p.KodePen
AND jenis='business')
SELECT NamaPen
FROM Penerbit p
WHERE NOT EXISTS
(SELECT *
FROM Buku b
WHERE b.KodePen= p.KodePen
AND jenis='business')
Operator Komporasi
Subquery memungkinkan juga menggunakan operator komparasi yang
terdiri dari =, <>, >, > =, <, ! >, ! <, or < =. Berbeda dengan operator sebelum
penggunaaan operator ini subquery harus menghasilkan data tunggal yang
menjadi parameter untuk query pemanggilnya.
SELECT NamaPeng
FROM Pengarang
WHERE KotaTinggal =
(SELECT Kota
FROM Penerbit
WHERE namaPen='Algodata Infosistems')
SELECT NamaPeng
FROM Pengarang
WHERE KotaTinggal <>ANY
(SELECT Kota
FROM Penerbit)
Untuk soal no 7:
9 Jika ada kondisi where kode <>ALL maka dapat diganti dengan
operator:
Sistem database merupakan satu kesatuan antara DBMS dan database nya.
DBMS merupakan paket software yang digunakan untuk mengatur akses data
ke database. Bagaimana struktur DBMS di dalamnya dan arsitektur sistem
database diimplementasikan, akan diterangkan lebih detail dalam bab ini.
Tujuan
2.40 Pendahuluan
Sistem database merupakan satu kesatuan dari Database Management
System (DBMS) dan database. DBMS adalah kumpulan dari program-
program yang mengijinkan user untuk melakukan create, maintain, dan
control terhadap semua kegiatan yang mengakses database.
Tujuan utamanya adalah untuk menyediakan sistem yang aman,
nyaman, dan efisien untuk user dalam mengakses dan menyimpan informasi.
Oracle server terdiri dari Oracle instance dan Oracle database, dimana
Oracle Instance merupakan media untuk mengakses Oracle Database.
System Process
Database
MonitorMonitor WriterLogWriter
Archive
(SMON) (PMON)(DBWn)(LGWR) log files
Checkpoint Archiver
(CKPT)Control
Control (ARCn)
files Data Redo log
files
files files
Gambar 8-49Oracle Instance
PGA
Program Global Area atau ProcessGlobal Area (PGA) adalah area
memori yang meliputi data dan control information untuk setiap proses.
PG
A Instance
Server SGA
Userprocess
process
Background
processes
UserProcess
Userdatabaseyang akan mengakses informasi dari database harus
melakukan koneksi dulu ke Oracle server. Ini dapat dilakukan dengan
menggunakan tool, seperti SQL*Plus, dan userprocess
dimulai.Userprocesstidak berinteraksi langsung dengan Oracle server, tetapi
melalui UserProgram Interface (UPI) yang meng-create session dan
mengaktifkan server process.
Server Process
Ketika user telah terkoneksi, server process dimulai untuk menangani
permintaan dari userprocess. Server processdapat berupa server process
khusus atau server process yang digunakan bersama (shared server process).
BackgroundProcess
Backgroundprocess merupakan bagian dari Oracle Instance, yang
terdiri dari beberapa proses. Proses-proses yang sering digunakan adalah:
- Sistem Monitor (SMON):melakukan crash recoverybila instance
gagal di-start.
- Process Monitor (PMON):melakukan process cleanup bila
userprocess gagal.
- Database Writer (DBWn):menulis blocks yang berubah dari
databasebuffer cache ke data files dalam disk
- Checkpoint (CKPT): meng-updatesemua data files dan controlfiles
databaseuntuk memberi tanda checkpoint yang terakhir
Logical Structure
Struktur logic dapat dilihat pada gambar di bawah ini dimana urutan
terbesar adalah database dan yang terkecil adalah block. Satu database terdiri
dari beberapa tablespace, dan setiap tablespace merupakan gabungan dari
beberapa segment.
Physical Structure
Struktur fisik berupa data file, dimana satu atau lebih data file dibuat
untuk setiap tablespace sehingga semua struktur logic akan tersimpan dalam
struktur fisik. Untuk tablespace TEMPORARY, data file nya tersimpan dalam
file temporer.
Segment
Extent
Oracle data
OS block
block
Transaction Server
• Banyak digunakan dalam sistem database relasional
• Disebut juga query server sistems atau SQL server sistems
• clients mengirim permintaan ke sistem server dimana transaksi akan
dieksekusi, dan hasilnya dikirim kembali ke client
• Permintaan ditulis dalam SQL, dan dikomunikasikan ke server
melalui mekanisme remote procedure call (RPC)
Data Server
• Digunakan dalam sistem databaseobject-oriented
• Menggunakan LAN dengan koneksi yang sangat cepat antara client
dan server
• Data dikirim dari server ke komputer client dimana pemrosesan data
dilakukan, dan hasilnya dikirim kembali ke server
Latihan
1. Jelaskan komponen-komponen apa saja yang terdapat dalam struktur
DBMS.
2. Jelaskan proses yang terjadi bila user mengakses database Oracle.
3. Dalam arsitektur sistemdatabase, sebuntukan jenis-jenis dari
sistemdatabase.
Basis Data Relasional telah digunakan selama lebih dari dua dekade. Telah
banyak sekali aplikasi-aplikasi basis data relasional diterapkan dalam
lingkungan komersial, dengan mendukung tugas-tugas seperti pengolahan
transaksi di bank-bank, pasar modal, penjualan dan reservasi untuk beragam
bisnis, inventori dan penggajian untuk hampir semua perusahaan. Kali ini kita
akan membahas lebih jauh aplikasi-aplikasi baru, yang akhir-akhir ini banyak
berkembang.
Tujuan
2 Pendahuluan
Basis Data Relasional telah digunakan selama lebih dari dua dekade. Telah
banyak sekali aplikasi-aplikasi basis data relasional diterapkan dalam
lingkungan komersial, dengan mendukung tugas-tugas seperti pengolahan
transaksi di bank-bank, pasar modal, penjualan dan reservasi untuk beragam
bisnis, inventori dan penggajian untuk hampir semua perusahaan. Kali ini kita
akan membahas lebih jauh aplikasi-aplikasi baru, yang akhir-akhir ini banyak
berkembang. Aplikasi-aplikasi tersebut meliputi Sistem Pendukung
Keputusan (Decision Support System/DSS), aplikasi yang memanfaatkan
Basis Data Spasial (SpatialDatabase), Basis Data untuk Multimedia
(Multimedia Database) atau. Basis Data Bergerak (Mobile Database),
demikian juga dengan Sistem Pencarian Informasi (Information-Retrieval
Sistem) yang berkaitan dengan dokumen, Sistem Informasi Terdistribusi
(Distributed Information Sistem) dan World Wide Webyang semakin luas
pemakaiannya dalam dunia. Internet. Kesemua itu akan kita bahas satu per
satu dalam bab terakhir buku ini.
S M L Total
Terang 8 35 10 53
Gelap 20 10 5 35
Total 28 45 15 88
Perhatikan pasangan (Terang, all, 53) dan (Gelap, all, 35). Kita bisa
memperoleh pasangan ini dengan menghilangkan pasangan individual dengan
nilai berbeda untuk ukuran, dan dengan mengganti nilai dari jumlah dengan
sebuah agreasi sum. Ekspresi query-nya dapat kita nyatakan sebagai :
Kita dapat melakukan hal yang sama untuk mendapatkan subtotal untuk
Dalam Data Mining, yang terpenting dan, sekaligus tersulit dari penjelasan di
atas adalah bagaimana aturan-aturan (yang merepresentasikan pengetahuan)
dari basis data tersebut dapat kita peroleh. Kesulitan ini seringkali
membutuhkan intervensi dari pemakai (manusia). Pembahasan lebih jauh soal
ini tidak akan dibahas dalam buku ini. Bagi yang tertarik lebih lanjut soal ini,
bisa melihat literatur lain yang relevan, di samping juga mempelajari aspek-
aspek AI (Artificial Intelligence).
Garis = ¿
Segitiga = ¿
Polygon = ¿
8 Pengindeksan Dokumen
Struktur indeks yang efektif menjadi penting untuk
mendapatkan pemrosesan query yang efisien dalam Sistem
Pencarian Informasi. Sistem ini dapat mencari dokumen yang
berisi keyword tertentu dengan memanfaatkan inverted index,
yaitu indeks yang memetakan setiap keyword K, ke dalam
himpunan S, yang menjadi pengenal (identifier) dokumen-
dokumen yang mengandung K,. Untuk mendukung urutan
relevansi berdasarkan kedekatan keyword, sebuah indeks dapat
memberikan tidak hanya identifikasi dokumen, tetapi juga daftar
lokasi ditemukannya keyword tersebut di dalam dokumen.
Karena indeks demikian harus disimpan di dalam disk,
organisasi indeks juga berusaha meminimalkan banyaknya
operasi 1/0 dalam melakukan pengambilan kumpulan dokumen
yang berisi keyword tersebut.
Adanya antar muka antara web dan basis data menjadi penting dikarenakan
dua alasan yaitu :
1. Bersamaan dengan adanya pertumbuhan perdagangan elektronik atau E-
Commerce, pengolahan transaksi harus dapat dihubungkan dengan web.
Parapemakai berinteraksi dengan basis data secara tidak langsung melalui
Untuk mengatasi keterbatasan ini maka dibuatlah suatu dokumen web yang
lebih dinamis dengan terlebih dahulu membuat antar muka web dengan
basis data. Sehingga pada saat dokumen diminta oleh pemakai, sebuah
program di web server akan dieksekusi untuk menjalankan operasi queri ke
basis data dan membuat dokumen sesuai dengan hasil queri tersebut.
Dengan mekanisme ini maka informasi yang diinginkan oleh pemakai dapat
terefleksi dengan baik.
Rangkuman
5. Berikut ini hal yang benar mengenai Basis Data Spasial, kecuali…
Menangani hal-hal yang
berhubungan dengan D
A. ruangan/tempat . Menggunakan indeks R-tree
B. Menggunakan indeks B-tree E. Salah semua
Dapat diimplementasikan untuk
C. sistem navigasi
6 Berikut ini hal yang benar mengenai raster, adalah…
D
A. Kumpulan data transaksional . Salah semua
Membutuhkan penyimpanan
B. besar E. Benar semua
Tidak dapat menyimpan data 3
C. dimensi