BAB 2
LANDASAN TEORI
2.1
Basis Data
2.1.1
Pengertian Data
Data
merupakan
sekumpulan
informasi
yang
tersimpan
dalam suatu
basis data yang memiliki nilai seperti : angka, deretan karakter, atau simbol
mengenai fakta suatu objek, orang, dan lain-lain (Lucas 1993, p.5).
Menurut Kadir
(1998,
p.5), data
adalah fakta mengenai suatu objek
atau
orang. Data
dinyatakan
dengan nilai
(angka,deretan
karakter,
atau
simbol). Hirarki data menurut Kadir (1998, p.8-p.9), secara tradisional data
diorganisasikan kedalam suatu
hirarki
yang
terdiri dari
elemen, rekaman
(record), dan berkas (file).
Elemen data
Elemen data adalah satuan data
terkecil
yang tidak dapat
dipecah
lagi
menjadi
unit
laen yang
bermakna.
Istilah
lain
untuk
elemen data adalah medan (field), kolom, item, dan atribut.
Rekaman
Rekaman adalah gabungan sejumlah elemen data yang saling
terkait.
Dalam
sistem basis
data
relasional,
rekaman
biasa
disebut
dengan istilah tuple atau baris.
6
|
7
Berkas
Himpunan seluruh rekaman yang
bertipe sama
membentuk
sebuah
berkas.
Berkas
dapat
dikatakan
sebagai
kumpulan
rekaman
data
yang
berkaitan
dengan
suatu
objek.
Dalam
sistem basis
data
relasional, berkas mewakili komponen yang disebut tabel atau relasi.
2.1.2
Pengertian Basis Data
Basis data dan
teknologi dalam basis data
mengalami perkembangan
yang
besar
seiring
dengan
berkembangnya
penggunaan
computer.
Basis
data dapat diartikan sebagai suatu kumpulan data yang secara logika saling
terkait,
dan terdapat
uraian
mengenai
data
tersebut,
dirancang
untuk
memenuhi kebutuhan informasi dari suatu organisasi (Connolly, 2002
p.14).
Sedangkan
C.J.
Date
(2000
p.5)
adalah
suatu
system yang
pada
dasarnya menyimpan beberapa record didalam suatu system yang
dilakukan secara komputerisasi yang bertujuan untuk memelihara informasi
dan untuk membuat informasi tersebut berdasarkan permintaan. Basis data
merupakan suatu objek yang kompleks untuk menyimpan informasi
terstruktur, yang diorganisir dan disimpan dengan aturan-aturan tertentu
sehingga pemakai dapat mengambil informasi tersebut dengan cepat dan
efisien.
Di dalam system basis data, data disimpan dalam bentuk table-tabel
yang
saling
berhubungan
satu
dengan
lainnya berdasarkan nilai dari dua
kolom yang sama pada kedua tabel tersebut. Keterkaitan seperti ini adalah
inti
dari
basis
data
relasional.
Dalam
basis
data
relasional
data
dipecah
|
8
dalam banyak
tabel
namun
dengan
adanya
relasi
antar
tabel
tersebut
memungkinkan baris-baris pada banyak tabel
disatukan dan ditampilkan
kembali sebagai suatu bentuk informasi bagi pengguna basis data tersebut.
2.1.3
Sistem Basis Data
Menurut Date
(2000,
p.5),
sistem basis data
pada dasarnya
adalah
:
Sistem penyimpanan
record
yang
terkomputerisasi
dimana
tujuan
sebenarnya adalah menyimpan informasi dan membuat informasi tersebut
selalu tersedia pada saat dibutuhkan. Keseluruhan sistem terkomputerisasi
itu membolehkan pengguna menelurusuri kembali dan mengubah informasi
tersebut sesuai kebutuhan.
Menurut
Fathansyah
(1999,
p3),
di
dalam suatu
disk,
basisdata
dapat
diciptakan, dapat ditiadakan, dan dapat menempatkan beberapa basisdata.
Adapun operasi-operasi dasar yang dapat dilakukan berkenaan dengan
basisdata dapat meliputi :
1. create database
Pembuatan basisdata.
2. drop database (penghapusan)
Penghapusan basisdata.
3. create table
Membuat tabel dengan mengidentifikasikan tipe data untuk tiap kolom.
4. drop table
Untuk
membuang atau
menghapus tabel beserta semua data yang
terkait di dalamnya.
|
![]() 9
5. insert
Menyisipkan satu baris record ke dalam basisdata.
6. retrieve atau search
Pengambilan data dari sebuah tabel.
7. update
Mengubah satu baris record dalam basisdata.
8. delete
Menghapus satu baris record dalam basisdata
Menurut Fathansyah (1999, p5), pemanfaatan basisdata dapat
dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti :
Kecepatan dan kemudahan (Speed).
Efisiensi ruang penyimpanan (Space).
Keakuratan (Accurancy).
Ketersediaan (Availibility).
Kelengkapan (Completeness).
Keamanan (Security).
Kebersamaan pemakai (Sharability).
2.1.4
Database Management System (DBMS)
Database
Management
System (DBMS)
adalah
suatu system
perangkat lunak yang bias mendefinisikan,
membuat,
memelihara,
dan
mengontrol akses ke basis data (Connolly, 2002 p.16). Pada intinya DBMS
memiliki dua bagian utama, yakni DDL dan DML. Menurut Connolly
|
10
(2002
p.40)
Data
Definition Language (DDL)
adalah
suatu
bahasa
yang
memperbolehkan database
administrator
(DBA)
atau
user
untuk
mendeskripsikan nama dari suatu entity, atribut, dan relasi data yang
diminta oleh aplikasi bersamaan dengan integritas data dan keamanan
datanya. Sedangkan untuk memanipulasi data yang tersimpan di dalam
basis
data
menggunakan
Data
Manipulation
Language
(DML).
Definisi
dari DML menurut Connolly (2002
p.41)
adalah
suatu
bahasa
yang
memberikan
fasilitas
pengoperasian
data
yang
ada
dalam basis
data.
Pengoperasian data yang akan di manipulasi biasanya meliputi :
1. Penambahan data baru kedalam basis data.
2. Modifikasi data yang disimpan dalam basis data.
3. Pengambilan data yang terdapat dalam basis data.
4. Penghapusan data dari basis data.
Sampai saat ini vendor DBMS masih saling
bersaing
untuk
meraih
pasar terbaik dengan cara memperbanyak fitur dalam memproses basis
data.
Informasi
sangat
penting
bagi suatu
perusahaan
atau
organisasi,
sehingga sebuah
DBMS dituntut
untuk
memperkuat
system keamanannya.
Saat
ini,
banyak
DBMS
yang
dilengkapi
autentifikasi
user sebelum bisa
mengakses basis data. Fitur ini berguna
untuk
mencegah
user
yang
tidak
berkepentingan mengakses basis data.
|
11
2.2
Teori teori khusus
2.2.1
Database Application Lifecycle (DBLC)
Untuk
merancang
aplikasi
sistem basis data diperlukan tahapan-
tahapan terstruktur yang harus diikuti yang dinamakan dengan Siklus
Hidup Aplikasi Basis Data (Database Application Lifecycle) atau disingkat
dengan
DBLC.
Perlu
diingat
bahwa
tahapan
dalam
DBLC tidak
harus
berurutan, namun juga
melibatkan
beberapa pengulangan ke tahapan
sebelumnya
melalui
putaran balik
(feedback
loops).
Tahapan-tahapan
tersebut terlihat pada gambar 2.1.
|
![]() 12
Database Planning
System Definition
Requirements
Collection
and
Analysis
DBMS
Selection
(optional)
Database
Design
Conceptual
Database
Design
Logical Database
Design
Application Design
Physical
Database
Design
Prototyping (optional)
Implementation
Data Conversion
and
Loading
Testing
Operational
Maintenance
Gambar 2.1 Database Application Lifecycle (Connolly, 2002, p272)
|
13
2.2.2
Pengumpulan Kebutuhan dan Analisis
Dalam tahap ini dilakukan proses pengumpulan dan analisa informasi
tentang bagian organisasi yang akan didukung oleh aplikasi basis data, dan
menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna
terhadap sistem yang baru (Connolly, 2002, p276).
Suatu
proses
resmi
dalam menggunakan
teknik-teknik
seperti
wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem
dan kebutuhan-kebutuhannya dinamakan dengan teknik
fact-finding
(Connolly, 2002, p302). Ada lima kegiatan
yang dipakai dalam teknik
ini,
yaitu :
1.
Memeriksa dokumentasi
Pemahaman terhadap jalannya sistem akan cepat diperoleh
dengan memeriksa dokumen-dokumen, formulir, laporan, dan
berkas
yang
terkait
dengan
sistem yang
sedang
berjalan
pada
perusahaan.
Dengan
pemeriksaan ini diharapkan dapat
mengetahui
data-data
apa
saja
yang
akan disimpan
di
dalam
basis data.
2.
Wawancara
Wawancara bertujuan untuk mengumpulkan fakta-fakta,
memeriksa
kebenaran
fakta
yang ada
dan
mengklarifikasinya,
membangkitkan semangat, melibatkan pengguna akhir,
mengidentifikasi kebutuhan-kebutuhan, dan mengumpulkan ide-
ide dan
pendapat
(Connolly,
2002,
p306).
Teknik
ini
|
14
memerlukan kemampuan komunikasi yang baik untuk
menghadapi pengguna yang memiliki nilai, prioritas, pendapat,
motivasi, dan kepribadian yang berbeda-beda.
Keuntungan menggunakan teknik ini menurut Thomas
Connolly (2002, p306) antara lain:
Memungkinkan orang yang diwawancara untuk
menanggapi pertanyaan dengan bebas dan terbuka
Memungkinkan orang
yang
diwawancara
merasa
bahwa ia merupakan bagian dari proyek
Memungkinkan pewawancara untuk
menindaklanjuti
komentar-komentar menarik yang dibuat oleh orang
yang diwawancara
Memungkinkan
pewawancara
untuk
mengubah
atau
menyusun kembali pertanyaan selama
kegiatan
wawancara
Memungkinkan
pewawancara
untuk
mengamati
bahasa tubuh orang yang diwawancara
Kerugian teknik ini menurut Thomas Connolly (2002,
p306) yaitu:
Sangat
memakan
waktu
dan
biaya,
sehingga
menjadi tidak praktis
|
15
Keberhasilannya
tergantung pada
kemampuan
komunikasi pewawancara
Keberhasilannya
tergantung pada
keinginan orang
yang
diwawancara untuk ikut serta dalam
wawancara
3.
Mengamati operasional perusahaan
Pengamatan ini memungkinkan untuk ikut serta atau
mengamati
seseorang melakukan
kegiatan
untuk
mempelajari
sistem. Salah satu faktor pengamatan dapat berhasil adalah
dengan mencari informasi sebanyak
mungkin
tentang aktivitas
yang
akan
diamati
serta
orang
yang
melakukan
aktivitas
tersebut.
Keuntungan menggunakan teknik ini antara lain :
Validitas fakta dan data dapat diperiksa
Pengamat dapat melihat dengan jelas apa yang
dikerjakan
Pengamat juga dapat memperoleh data yang
menjelaskan lingkungan fisik dari tugas yang
diberikan
Relatif murah
Pengamat dapat membuat pengukuran kerja
|
16
Kerugian teknik ini yaitu:
Sangat
memakan
waktu
dan
biaya,
sehingga
menjadi tidak praktis
Dapat terlewat dalam mengamati tugas-tugas yang
melibatkan tingkat kesulitan yang lain
Beberapa tugas tidak selalu dilakukan dengan cara
seperti pada saat pengamatan
4.
Penelitian
Selain melakukan penelitian yang berasal dari dalam
organisasi itu sendiri, dapat juga dilakukan pengumpulan
informasi yang berasal dari luar organisasi
tersebut.
Beberapa
contoh
sumber
informasi tersebut antara
lain
jurnal komputer,
buku-buku referensi, dan internet. Sumber informasi tersebut
juga dapat digunakan untuk memecahkan masalah serupa.
Keuntungan menggunakan teknik ini antara lain :
Dapat menghemat waktu jika solusinya telah tersedia
Peneliti dapat mengamati cara orang lain
memecahkan masalah yang sama atau menemui
kebutuhan yang serupa
Membuat para peneliti selalu up-to-date dengan
perkembangan baru
|
17
Kerugian teknik ini yaitu :
Dapat menjadi sangat memakan waktu
Membutuhkan akses ke sumber informasi yang tepat
Dapat saja tidak membantu memecahkan masalah
karena tidak didokumentasikan
5.
Kuesioner
Teknik
lain
yang
dapat
digunakan untuk mengumpulkan
informasi yang dibutuhkan adalah dengan menggunakan
kuesioner. Kuesioner adalah
suatu
dokumen
dengan
tujuan
khusus
yang
memungkinkan
fakta-fakta dikumpulkan dari
banyak orang sambil menjaga kontrol terhadap tanggapan yang
diberikan (Connolly, 2002, p308).
Keuntungan menggunakan teknik ini antara lain :
Orang dapat
melengkapi dan mengembalikan
kuesioner pada waktu yang sebaik-baiknya
Tidak mahal untuk mengumpulkan data dari
banyak orang
Responden lebih mudah untuk memberikan
jawaban
yang benar karena jawaban yang
diberikan dapat dijaga kerahasiaannya
Tanggapan
dapat
ditabulasikan dan dianalisa
dengan cepat
|
18
Kerugian teknik ini yaitu:
Jumlah
responden
dapat
saja
rendah,
sekitar
5%
sampai 10%
Kuesioner
dapat
saja
dikembalikan
dengan
tidak
lengkap
Tidak
menyediakan
kesempatan
untuk
mengubah
pertanyaan yang salah diartikan
Tidak dapat mengamati dan menganalisa bahasa
tubuh responden
Memakan waktu untuk menyiapkan kuesioner
2.3
Teori Pendekatan Perancangan Basis Data (Approaches to Database Design)
Teori pendekatan perancangan database yang digunakan pada skripsi
ini
adalah
menggunakan
pendekatan Top-Down
Approach.
Pendekatan
ini
berguna
untuk
mendesain
database
yang
komplek
dengan attribut yang banyak, dimana
ditemukan
kesulitan
untuk
membangun
semua
functional dependencies diantara
atribut atribut yang ada.
Pendekatan ini dimulai dengan membangun contoh data (data models)
yang mengandung sedikit entity yang penting (high-level entities) dan kemudian
menerapkan
perbaikan
top-down untuk
mengidentifikasi
entity
yang
lainnya
|
19
(lower-level entities), hubungan antar entity (relationships), dan atribut yang
berkaitan (associated attributes).
Top
Down Approach diilustrasikan menggunakan konsep dari model
hubungan
entity
(Entity
Relationship ER
model),
dimulai
dengan
mengidentifikasikan entity entity dan hubungan diantara entity yang merupakan
fokus penting dari perusahaan.
2.4
Teori Metodologi Perancangan Basis Data
2.4.1
Perancangan Basis Data Konseptual (Conceptual Database Design)
Perancangan Basis Data Konseptual adalah proses
membangun suatu
model informasi yang digunakan oleh perusahaan atau organisasi yang
tidak tergantung dari pertimbangan fisik (Connolly, 2002, p419).
Langkah
pertama:
Membuat local
conceptual
data
model untuk
setiap
pandangan.
Bertujuan
untuk
memecah
rancangan menjadi
tugas-
tugas
yang
dapat
diatur
dengan
memeriksa
sudut
pandang
yang
berbeda
dari pengguna di dalam suatu organisasi (Connolly, 2002, p421).
Pada tahap membuat
local
conceptual
data
model,
langkah-langkah
yang dilakukan adalah sebagai berikut :
a.
Mengidentifikasi entity types
Bertujuan untuk menentukan
entity
types utama
yang
dibutuhkan.
Menentukan entity dapat
dilakukan
dengan
memeriksa
users requirements specification. Setelah terdefinisi, entity diberikan
nama yang tepat dan jelas seperti mahasiswa, dosen, mataKuliah.
|
20
b.
Mengidentifikasi relationship types
Bertujuan untuk
mengidentifikasi suatu
relationship yang
penting
yang
ada
antar
entity
yang
telah
diidentifikasi.
Nama
dari
suatu
relationship menggunakan kata kerja (verb) seperti
mempelajari, memiliki, mempunyai, dan lain-lain.
c.
Mengidentifikasi
dan
menghubungkan attribute dengan entity
atau relationship types
Bertujuan
untuk
menghubungkan
attribute
dengan
entity atau
relationship yang
tepat.
Attribute
yang
dimiliki
setiap
entity
atau
relationship memiliki
identitas atau karakteristik yang
sesuai dengan
memperhatikan attribute berikut : simple/composite attribute, single-
valued attribute, dan derived attribute.
d.
Menentukan attribute domain
Bertujuan
untuk menentukan attribute domain pada conceptual
data model. Contohnya yaitu menentukan nilai attribute jenisKelamin
pada
entity mahasiswa
dengan
M
atau
F
atau
nilai attribute
sks
pada entity mataKuliah dengan 1,2,3, dan
4.
e.
Menentukan candidate key dan primary key attributes
Bertujuan untuk mengidentifikasi candidate key pada setiap
entity dan memilih primary key jika ada lebih dari satu candidate key.
|
21
Pemilihan primary key didasari pada panjang dari attribute dan
keunikan key di masa datang.
f.
Mempertimbangkan penggunaan Enhance Modelling Concepts
(pilihan)
Pada
langkah
ini
bertujuan
untuk
menentukan specialization,
generalization, aggregation, composition. Dimana masing-masing
pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada.
Specialization
dan
generalization
adalah proses
dalam
mengelompokkan beberapa entity dan menghasilkan entity yang baru.
Beda
dari
keduanya
adalah
cara prosesnya,
dimana
spesialisasi
menggunakan proses top-down dan generalisasi menggunakan proses
bottom-up.
Aggregation menggambarkan sebuah entity types dengan sebuah
relationship types dimana suatu relasi hanya akan ada
jika telah ada
relationship lainnya.
g.
Mengecek redudansi
Bertujuan untuk memeriksa
conceptual model untuk
menghindari dari adanya informasi yang redundan. Yang dilakukan
pada langkah ini adalah :
|
22
Memeriksa kembali one-to-one relationship (1:1)
Setelah entitiy diidentifikasikan maka kemungkinan ada
dua entity yang mewakili satu objek. Untuk itu dua entity
tersebut harus di-merger bersama. Dan jika primary key-nya
berbeda
maka
harus
dipilih
salah
satu
dan
yang
lainnya
dijasikan alternate key.
Menghilangkan relasi yang redundansi
Untuk menekan jumlah model data, maka relationship
data yang redundan harus dihilangkan.
h.
Memvalidasi conceptual model dengan transaksi
Bertujuan untuk
menjamin
bahwa conceptual
data
model
mendukung kebutuhan
transaksi. Dengan
menggunakan
model
yang
telah divalidasi tersebut, dapat digunakan untuk melaksanakan
operasi secara manual. Ada dua pendekatan yang mungkin untuk
menjamin bahwa local conceptual data model mendukung kebutuhan
transaksi yaitu :
Mendeskripsikan transaksi
Memeriksa
seluruh
informasi
(entities, relationship, dan
attribute) yang diperlukan pada setiap transaksi yang disediakan
oleh model dengan mendokumentasikan penggambaran dari tiap
kebutuhan transaksi.
|
23
Menggunakan transaksi pathways
Pendekatan kedua, untuk memvalidasi data model dengan
keperluan
transaksi
yang
melibatkan
diagram yang
mewakili
pathways
diambil
dari
tiap transaksi
secara
langsung yang
terdapat pada E-R diagram.
E-R diagram
menggambarkan komponen-komponen dari
entity dan relasi yang masing-masing dilengkapi dengan
attribute-attribute yang merepresentasikan seluruh fakta dari
real-world yang kita tinjau (Fathansyah,1999,p79). Sedangkan
menurut
Silberschatz(2002,p42),
E-R
diagram dapat
menyatakan keseluruhan struktur logikal dari basis data dengan
mneggunakan bagan.
i.
Melihat kembali conceptual data model dengan pengguna
Bertujuan
untuk
melihat
kembali
conceptual
model
dan
memastikan bahwa data model tersebut sudah benar.
2.4.2
Perancangan Basis Data Logikal (Logical Database Design)
Logical database design adalah proses pembuatan suatu model
informasi yang digunakan pada perusahaan berdasarkan pada model data
yang spesifik, tetapi tidak tergantung dari Database Management System
(DBMS) yang khusus dan
pertimbangan
fisik
lain
(Connolly,
2002,
p441).
|
24
Langkah kedua: Membuat dan memvalidasi local logical data
model untuk setiap pandangan. Bertujuan untuk membuat local logical data
model dari local conceptual data model yang merepresentasikan
pandangan khusus dari perusahaan dan memvalidasi model tersebut untuk
menjamin kebenaran strukturnya (dengan menggunakan teknik
normalisasi) dan menjamin bahwa model
tersebut
mendukung
kebutuhan transaksi.
Pada perancangan model logical langkah kedua,
tahapan-tahapannya
adalah:
a.
Menghilangkan
features
yang
tidak
kompatibel
dengan
model relasional (pilihan)
Bertujuan untuk menghasilkan model yang kompatibel
dengan model relasional, yaitu dengan:
Menghilangkan
many-to-many
(*:*)
binary
relationship types
Dengan
cara
memecah relationship
yang
mengandung many-to-many (*:*) untuk
mengidentifikasikan sebuah
entity
tengah
(internediate
entity)
sehingga
relationship ini
digantikan dengan dua buah one-to- many
(1:*)
relationship,
dengan
entity tengah
berada
di
antara
dua buah entity lama.
|
25
Menghilangkan
many-to-many
(*:*)
recursive
relationship types
Jika recursive relationship ada pada conceptual
data model, relationship
tersebut
harus dipecah
untuk
mengidentifikasikan
sebuah
entity tengah
dengan cara menganggap entity lain yang terlibat
pada relationship ini merupakan dua buah entity
dengan jenis relationship many-to-many (*:*) binary
sehingga penyelesaiannya sama dengan penyelesaian
pada relationship many-to-many (*:*) binary.
Menghilangkan complex-relationship types
Dihilangkan dengan
memecah
relationship
ini
untuk mengidentifikasi entity
tengah.
Kemudian
complex
relationship ini
akan
digantikan
dengan
beberapa one-to-many (1:*) relationship.
Menghilangkan multi-valued attributes
Dengan cara memecah atribut ini untuk
mengidentifikasikan sebuah entity.
b.
Memperoleh relasi untuk local logical data model
Bertujuan
untuk
membuat
hubungan logical
model yang
mewakili entity, relationship dan attribute yang telah disefinisi.
Mendeskripsikan komposisi
tiap
hubungan
memakai Database
|
26
Definition Language
(DDL)
untuk
relasi
basis
data.
Dengan
menggunakan DDL dapat dibuat spesifikasi nama dari relasi
yang diikuti dengan daftar dari relasi attribute yang mudah lalu
mengidentifikasikan
primary
key dan foreign key
dari
suatu
relasi.
Untuk
memperoleh relasi
untuk local
logical data model,
maka diperlukan penjelasan untuk mendeskripsikan struktur
yang mungkin dalam data model saat ini.
c.
Memvalidasi relasi dengan menggunakan normalisasi
Menurut Connolly dan Begg (2002, p376), normalisasi
adalah sebuah teknik untuk menghasilkan relasi dengan
properti-properti yang diinginkan, memberikan kebutuhan data
dari sebuah perusahaan.
Tujuan normalisasi adalah terjaminnya struktur yang
konsisten, kerangkapan yang minimal, dan stabilitas struktur
data yang maksimal.
Manfaat normalisasi adalah sebagai berikut :
1.
Meminimalkan jumlah kapasitas penyimpanan yang
diperlukan untuk menyimpan data.
2.
Meminimalkan
resiko
data
yang
tidak konsisten
dalam suatu basisdata.
|
27
3.
Meminimalkan kemungkinan update dan delete
anomally.
4.
Memaksimalkan stabilitas dari struktur data.
Proses normalisasi tabel secara detil dibagi menjadi lima
tahap sehingga dikenal bentuk-bentuk tabel
normal
sesuai
dengan tahapan normalisasi yang telah dilakukan yaitu bentuk
normal pertama, kedua, ketiga, Boyce-Codd, keempat, dan
kelima.
d.
Memvalidasi relasi dengan transaksi pengguna
Bertujuan untuk menjamin bahwa
relasi dalam logical
model tersebut
mendukung
users requirements specification
secara detil. Selain
itu juga untuk
meyakinkan bahwa tidak ada
kesalahan yang muncul sewaktu membuat suatu relasi.
e.
Mendefinisikan integrity constraints
Bertujuan
untuk
mendefinisikan integrity constraints yang
disampaikan
dalam pandangan.
Terdapat
lima
tipe
integrity
constraints yang harus diperhatikan, yaitu:
Required data
Attribute domain constraints
Entity integrity
|
28
Referential integrity
Enterprise constraints
f.
Melihat kembali local logical data model dengan pengguna
Bertujuan untuk menjamin local logical data model dan
mendukung dokumentasi yang menggambarkan model sudah
benar.
Langkah ketiga :
Membuat dan memvalidasi global logical data
model. Bertujuan
untuk
menyatukan local
logical data model
menjadi global
logical data model.
Pada perancangan
logical model langkah ketiga, tahapan-tahapannya
adalah :
a.
Menggabungkan local logical data model
Menghasilkan E-R diagram, skema relasional, kamus data
dan dokumen pendukung yang mendeskripsikan constraints dari
model.
Beberapa
tugas
yang
harus dikerjakan adalah sebagai
berikut :
Memeriksa
kembali
nama
dan
isi dari
entities
dari
relationships dan candidate key.
Memeriksa
kembali
nama
dan
isi
dari
relationships/foreign keys
Menggabungkan entities atau hubungan dari local
data model.
|
29
Mengikutsertakan (tanpa
menggabungkan) entities
atau
relationships
yang
unik
pada
tiap local
data
model.
Menggabungkan
relationship
atau
foreign
key
dari
local data model.
Mengikutsertakan (tanpa
menggabungkan)
relationship atau foreign key unik pada tiap
local
data model.
Memeriksa
untuk
entities
(hubungan)
dan
relationships atau foreign key.
Memeriksa integrity constraints.
Menggambarkan E-R diagram
Melakukan Update dokumen.
b.
Memvalidasi global logical data model
Bertujuan
untuk
memvalidasi relasi
yang dibuat
dari
global logical data model dengan teknik normalisasi dan
menjamin
bahwa
model
tersebut mendukung kebutuhan
transaksi.
c.
Mengecek pertumbuhan yang akan datang
Bertujuan
untuk
menentukan apakah
ada
perubahan
yang
signifikan seperti keadaan yang tidak terduga dimasa mendatang
dan menilai apakah model logikal tersebut dapat menampung
atau menyesuaikan perubahan yang terjadi.
|
30
d.
Melihat kembali global logical data model dengan pengguna
Bertujuan untuk menjamin model data logikal yang
bersifat global telah tepat untuk perusahaan.
2.4.3
Perancangan Basis Data Fisik (Physical Database Design)
Physical database design adalah
suatu
proses
untuk
menghasilkan
gambaran dari implementasi basis data pada tempat penyimpanan,
menjelaskan dasar dari relasi, organisasi file dan indeks yang diguknakan
untuk efisiensi data dan menghubungkan beberapa integrity constraints dan
tindakan keamanan (Connolly, 2002, p478).
Langkah keempat : Menerjemahkan global logical data model
untuk target DBMS. Bertujuan untuk menghasilkan skema basis data
relasional
dalam global
logical
data model
yang
dapat
diimplementasikan
ke DBMS.
Pada perancangan physical model, langkah-langkahnya adalah:
a.
Merancang basis data relasional
Dalam memulai
merancang physical
design, diperlukan
untuk mengumpulkan dan memahami
informasi tentang relasi
yang
dihasilkan
dari
logical
database
design. Informasi
yang
penting bisa didapatkan dari kamus data dari DDL.
b.
Merancang representasi dari data yang diperoleh
Bertujuan untuk menentukan bagaimana setiapa data yang
diperoleh mewakili global logical data model ke dalam DBMS.
|
31
c.
Merancang enterprise constraints
Pada langkah ini bertujuan untuk merancang batasan-
batasan yang ada pada perusahaan.
Langkah kelima : Merancang representasi physical. Bertujuan untuk
menentukan organisasi file yang untuk penyimpanan dan menentukan
indeks yang dibutuhkan untuk meningkatkan performa.
Terdapat tiga
faktor yang
memungkinkan digunakannya representasi
physical:
1.
Transaction throughput
2.
Response time
3.
Disk storage
Dalam langkah
kelima
ini
perlu
untuk
memahami
system
resources
untuk menigkatkan performa basis data.
Main memory
Dengan semakin besar main memory yang ada maka akan
dapat meningkatkan performa
DBMS dan aplikasi basis data
yang digunakan.
CPU
Mengontrol
tugas-tugas
dari
system resources
lain
dan
mengeksekusi prosesnya.
|
![]() 32
Disk I/O
Dengan
menggunakan
DBMS
yang
besar,
maka disk I/O
yang
diperlukan
sangat
signifikan
dalam menyimpan
dan
mengambil
data.
Untuk menghindari
kemacetan
transfer
data,
maka:
File
sistem
operasi
harus dipisahkan
dari
file
basis
data.
File
utama basis data harus dipisahkan dari file
indeks.
File
recovery
log
harus
dipisahkan
dari
basis
data
yang sedang digunakan
Network
Ketika jumlah data yang ditransfer telah banyak, maka
dengan menggunakan network sangat dianjurkan. Selain itu juga
untuk menghindari dari kemacetan dalam mentransfer data.
Langkah-langkah dalam langkah kelima ini adalah:
a.
Menganalisis transaksi
Bertujuan untuk memahami
fungsi dari transaksi yang
dijalankan pada basis data dan menganalisa transaksi yang
penting.
Kriteria
kemampuan
yang harus diidentifikasi dalam
menganalisa transaksi adalah:
|
33
Transaksi dapat berjalan secara
sering dan akan
mempunyai dampak yang signifikan pada performa.
Transaksi yang kritis pada operasi dan bisnis
Waktu selama sehari atau seminggu ketika aka nada
permintaan yang tinggi pada saat basis data dibuat.
b.
Memilih file organisasi
Bertujuan
untuk
menyimpan data
secara tepat ke
tempat
penyimpanan data. Ada beberapa pilihan struktur penyimpanan
(Silberschatz, 2002, p422), yaitu:
Heap
Hash
Sekuensi berindeks
Clusters
c.
Memilih indeks
Bertujuan untuk
meningkatkan
performa
dalam
suatu
sistem basis
data.
Salah
satu
pendekatan
untuk
memilih
organisasi file yang cocok untuk relasi adalah untuk menyimpan
tuples
yang
tidak
disimpan dan
dibuat
sebanyak
secondary
indexes sebagaimana diperlukan. Oleh karena itu, pilih attribute
yang digunakan adalah:
|
34
Attribute yang sering digunakan untuk join
operations untuk membuat lebih efisien.
Attribute
yang
sering
dipesan
untuk
mengakses
tuples pada suatu relasi di dalam urutan yang
menunjukkan attribute.
d.
Memperkirakan kebutuhan ruang penyimpanan
Bertujuan untuk memperkirakan jumlah ruang
penyimpanan yang akan diperlukan dalam basis data.
Perkiraannya
didasari
pada
ukuran
setiap
tabel
dalam suatu
relasi. Contohnya dalam lima tahun mendatang berapa kapasitas
hard disk yang dibuthkan untuk menampung data.
Langkah keenam : Merancang pandangan pengguna (user
interface).
Bertujuan
untuk
merancang
user
interface yang
telah
diidentifikasi selama
mengumpulkan kebutuhan dan menganalisis langkah
dari
relasional
database
lifecycle. Contohnya
pada
branch
terdiri
dari
interface direktur dan manager.
Langkah
ketujuh
:
Merancang
keamanan.
Dalam
sebuah
sistem
basis data, keamanan adalah elemen yang sangat penting mengingat isi dari
basis data berupa informasi yang sangat penting. Menurut Silberszhatz
|
35
(2002,p239), ukuran keamanan yang dapat diambil untuk melindungi basis
data antara lain dari segi:
Sistem basis data : ada beberapa user berwenang yang diizinkan
untuk
mengakses
bagian
basis
data
tertentu
dan
ada
para user
lain
yang
hanya
diizinkan
untuk
membaca
data yang
diinginkannya, tetapi tidak
punya
hak
untuk
mengubahnya.
Kewajiban
dari
sistem basis
data
ini
adalah
menjaga
batasan
seperti di atas tetap terjaga.
Sistem operasi : tidak peduli betapa aman sistem basis datanya,
apabila terjadi kelemahan dalam keamanan sistem operasi. Hal
ini sama artinya dengan adanya akses yang tidak diinginkan
dalam basis data. Jadi tingkat keamanan pernagkat lunak dalam
sistem operasi sangatlah penting seperti
halnya keamanan
yang
dilakukan secara fisik.
Jaringan : seluruh sistem basis data memperbolehkan untuk
mengkases
lewat
terminal
atau
jaringan,
keamanan software-
level dalam software jaringan sangat penting sebagai keamanan
fisik, keduanya dibutuhkan dalam internet dan jaringan pribadi.
Fisik
:
situs
yang
mengandung
sistem
komputer
harus
secara
fisik
aman
dari
entri
yang
diam-diam dan bahaya oleh para
penyelundup.
|
36
Manusia
:
otorisasi pada
user
harus
dilakukan
secara
hati-hati
untuk
mengurangi adanya kejadian dimana user yang
berwenang memberikan akses kepada orang lain dengan
imbalan suap atau yang lainnya.
Langkah kedelapan :
Mempertimbangkan pengenalan dan
redundansi
kontrol.
Pada
langkah
physical
database
design ini
mempertimbangkan denormalisasi skema relasional untuk
meningkatkan
performa.
Hasil
dari
normalisasi
adalah perancangan basis data logikal
secara struktural konsisten dan menekan jumlah redudansi. Faktor yang
perlu dipertimbangkan adalah :
Denormalisasi membuat implementasi lebih kompleks
Denormalisasi selalu mengorbankan fleksibilitas
Denormalisasi
akan
membuat
cepat
dalam
retrieve
data
tetapilambat dalam updates.
Ukuran performa dari suatu perancangan basis data dapat dilihat
darisudut
pandang
tertentu
yaitu
melalui
pendekatan efisiensi
data
(Normalisasi) atau pendekatan efisiensi proses (Denormalisasi). Efisiensi
data dimaksudkan untuk meminimalkan kapasitas disk, dan efisiensi proses
dimaksudkan untuk
mempercepat proses saat retrieve data
dari
basis
data.
|
37
Langkah kesembilan : Memonitor
dan
memasang
sistem
operasi.
Bertujuan untuk memonitor sistem
operasi, meningkatkan performa dan
menentukan
perancangan
sistem yang
tepat
atau
menggambarkan
perubahan kebutuhan.
2.5
Entity Relationship Modelling
2.5.1
Entity type
Entity adalah
kumpulan
objek
dengan
sifat-sifat
sama
yang
diidentifikasikan oleh perusahaan dan
mempunyai
keberadaannya
sendiri.
Entity dilambangkan dengan sebuah kotak yang dibubuhi nama dari entity
tersebut didalam kotak
tersebut.
Dalam UML
huruf
pertama
entity selalu
menggunakan huruf kapital. Entity ada dua jenis, yaitu :
a.
Strong entity : keberadaanya tidak bergantung pada entity lain.
b.
Weak entity : keberadaanya bergantung pada entity lain.
2.5.2
Relationship type
Sekumpulan asosiasi yang artinya mempunyai satu atau lebih tipe
entity. Setiap
tipe
relasi
diberikan
nama
yang
menggambarkan
fungsinya.
Representasi
diagram dari
tipe
relasi
ditunjukkan
dengan
garis
yang
menghubungkan tipe entity yang berasosiasi dan diberi label dengan nama
relasi.
|
38
2.5.2.1
Derajat tipe relasi
Entity yang dilibatkan dalam tipe relasi tertentu
dinyatakan
sebagai pertisipan pada relasi tersebut. Jumlah partisipan pada tipe
relasi disebut derajat relasi. Relasi dengan derajat dua disebut
binary.
Relasi dengan derajat tiga disebut ternary.
Relasi dengan
derajat empat disebut quaternary.
2.5.2.2
Relasi rekursif
Merupakan tipe
relasi
dimana
tipe
entity yang
sama
berpartisipasi lebih dari sekali dengan peranan yang berbeda.
2.5.3
Atribut
Merupakan property dari sebuah tipe entity atau tipe relasi.
Contohnya, tipe entity Pegawai, bisa memiliki atribut nomor pegawai,
nama
pegawai,
jabatan,
dan
gaji. Atribut
dapat
dikelompokan
sebagai
berikut :
2.5.3.1
Atribut Sederhana dan Komposit
Atribut sederhana merupakan atribut
yang
terdiri
dari satu
komponen tunggal dengan keberadaannya sendiri, sehingga tidak
dapat dipecah menjadi komponen-komponen yang lebih kecil
lagi. Contoh atribut sederhana meliputi jabatan dan gaji dari entity
Pegawai.
|
39
Atribut komposit merupakan atribut yang dibentuk dari
banyak komponen. Contohnya atribut alamat dapat dipecah
menjadi atribut jalan, kota, dan kodepos.
2.5.3.2
Atribut Single Valued dan Multi Valued
Atribut Single Valued
merupakan atribut yang
menyimpan nilai tunggal untuk setiap entity. Kebanyakan atribut
adalah Single Valued.
Atribut Multi Valued merupakan atribut
yang menyimpan
banyak nilai untuk setiap entity.
2.5.3.3
Atribut Turunan
Atribut Turunan merupakan atribut dimana nilainya
diperoleh atau diturunkan dari nilai atribut atau sekumpulan
atribut lainnya, dan tidak harus dari tipe entity yang sama.
2.5.4
Keys
2.5.4.1
Simple Key
Simple Key suatu kunci yang dibentuk oleh satu atribut.
2.5.4.2
Composite Key
Composite Key merupakan
candidate
key
yang
terdiri atas
dua atau lebih atribut, dimana nilai dari atribut tersebut bila
|
40
digabungkan
secara
bersama-sama
baru
akan
dapat
mengidentifikasikan sebuah record unik untuk tipe entity tersebut.
2.5.4.3
Candidate Key
Candidate Key merupakan sekumpulan minimal atribut yang
secara unik untuk mengidentifikasi setiap kemunculan tipe entity.
2.5.4.4
Primary Key
Primary Key merupakan key yang terpilih secara unik untuk
mengidentifikasi setiap kemunculan tipe entity.
2.5.4.5
Alternate Key
Alternate Key merupakan kunci candidate
yang tidak dapat
dipakai sebagai kunci primer (primary key).
2.5.4.6
Foreign Key
Foreign Key merupakan suatu atribut yang melengkapi satu
hubungan (relationship) yang menunjukkan ke induknya.
2.6
Normalisasi
Merupakan serangkaian
test
dari
sebuah
relasi
untuk
menentukan
apakah
relasi tersebut memuaskan atau mengganggu kebutuhan dari sebuah normal form
yang diberikan (Connolly, 2002, p.376).
|
41
2.6.1
Proses Normalisasi
Teknik normalisasi menyangkut sebuah rangkaian aturan yang
digunakan untuk memeriksa sebuah relasi, sehingga sebuah basis data
dapat dinormalisasi dalam beberapa tahap. Normalisasi biasanya dijalankan
seperti
sekumpulan
langkah
secara
bertahap,
dimana
relasi
menjadi
semakin kuat bila langkah (degree) yang dikenakan padanya semakin
tinggi.
2.6.1.1
Bentuk Normal Kesatu (1NF)
Mengidentifikasi dan membuang
attribute
yang
berulang
(repeting group) dan
memiliki
nilai
yang
lebih dari
satu. Suatu
hubungan dikatakan normal pertama jika :
a.
setiap
dari baris
dan
kolom
berisi
attribute
yang
bernilai tunggal
b.
kunci primer telah ditentukan
c.
attribute nilai banyak (multi value) telah dihilangkan
2.6.1.2
Bentuk Normal Kedua (2NF)
Suatu
relasi yang
memiliki
composite key sebagai primary
key
nya
mempunyai
kemungkinan
untuk
memiliki partial
functional dependency,
dimana
atribut
bukan
primary
key
merupakan fungsi pada salah satu atau sebagian dari primary key.
Dalam 2NF maka setiap atribut yang merupakan partial
functional dependency harus dipisahkan ke relasi atau
tabel
yang
baru
dengan
mengikutsertakan
determinantnya.
Bentuk
2NF
|
42
diperoleh apabila setiap atribut bukan bagian dari primay key
suatu
tabel
merupakan
functional
dependency dari
primary
key
tabel tersebut.
2.6.1.3
Bentuk Normal Ketiga (3NF)
Suatu
tabel
atau
relasi
memiliki transitive
dependency
apabila
memilki
atribut
bukan primary
key yang bergantung
fungsional pada atribut bukan
primary
key lainnya pada tabel
tersebut. Maka setiap atribut yang transitive dependency
dipisahkan menjadi relasi yang baru dengan mengikutsertakan
determinantnya. Bentuk 3NF diperoleh apabila setiap atribut
bukan
primary
key
dalam suatu
tabel
merupakan
transitive
dependency dari atribut bukan primay key tabel tersebut.
2.6.1.4
Bentuk Normal Boyce-Codd (BCNF)
Normalisasi BCNF dapat dilakukan bila terdapat kondisi
dimana
relasi
memiliki
dua
atau
lebih composite
key
dimana
candidate key-nya saling melengkapi, yang sedikitnya memiliki
satu atribut pada umumnya. Sebuah relasi dikatakan BCNF, jika
dan hanya jika setiap determinant adalah candidate key.
2.6.1.5
Bentuk Normal Keempat (4NF)
Sebuah relasi dikatakan
memiliki
multi-value
dependency
apabila
terdapat
dua
atau
lebih
one
to
many relationship
saling
|
43
bebas terdapat pada relasi tersebut. Multi-Value dependency dapat
dihilangkan dengan memisahkan masing-masing relasi one to
many
menjadi
sebuah
tabel
baru dengan mengikutsertakan
determinantnya. Bentuk 4NF diperoleh apabila relasi tersebut
telah BCNF dan tidak terdapat multi-value dependency.
2.6.1.6
Bentuk Normal Kelima (5NF)
Relasi dikatakan telah 5NF bila relasi tersebut tidak
memiliki joint dependency.
2.7
SQL (Structured Query Language)
2.7.1
Pengertian SQL
Menurut Kadir (1999, p.101), SQL singkatan dari Structured Query
Language.
Dalam bahasa
inggris
sering
dibaca
sebagai
SEQUEL.
SQL
merupakan bahasa query
standard yang digunakan
untuk
mengakses basis
data relasional. Standarisasi internasional terhadap sql pertama kali
dilakukan oleh ANSI (American National
Standard
Institution),
melalui
publikasi database language SQL (ANSI X3.136 1986). Saat
ini, ANSI
dan ISO (International Standards Organization) merupakan dua organisasi
yang membuat standarisasi tehadap SQL.
SQL
pertama
kali
diterapkan
pada
system
R
(sebuah
proyek
riset
pada
laboratorium riset
San
Jose,
IBM). Namun
kini
SQL
juga dijumpai
pada berbagai platform, dari microcomputer hingga mainframe. SQL dapat
|
44
digunakan baik secara berdiri sendiri
maupun dilekatkan pada bahasa
bahasa lain seperti COBOL dan C. SQL juga telah menjadi bagian dari
sejumlah DBMS, seperti ORACLE, SYBASE, dan INFORMIX.
SQL bukanlah satu satunya query yang diterapkan pada basisdata.
QUELL
adalah
contoh
bahasa
query yang
lain,
yang
pertama
kali
diperkenalkan pada system basis data Ingres.
2.7.2
SQL sebagai Subbahasa
Penyebutan SQL sebagai bahasa query tidak tepat sebab kemampuan
SQL
tidak
terbatas
hanya
untuk
query (memperoleh
data)
tetapi
juga
mencakup kemampuan lain seperti :
a.
pendefinisian struktur data
b.
pengubahan data
c.
pengaturan sekuritas, dan sebagainya
Terkadang SQL dikatakan sebagai
subbahasa
data,
bukan
sebagai
bahasa. Alas an SQL bukanlah bahasa query telah dijelaskan. Adapun
alasan SQL dikatakan sebagai subbhasa data adalah karena SQL tidak
mendukung persyaratan bahasa yang lengkap, sekalipun SQL dapat dipakai
untuk mengakses basisdata. SQL tidak menyediakan hal hal berikut :
pernyataan penguji kondisi (semacam IF pada COBOL)
pernyataan
pengulangan /
iterasi
(semacam REPEAT pada
Pascal)
|
45
2.7.3
Antarmuka SQL Terhadap DBMS
Penggunaan SQL pada DBMS cukup
luas. SQL dapat dipakai oleh
berbagai kalangan (DBA, pemrogram, ataupun pengguna).
2.7.3.1
SQL sebagai bahasa administrasi basis data
Dalam hal
ini SQL dipakai
oleh
DBA
untuk
menciptakan
serta mengendalikan pengaksesan basis data.
2.7.3.2
SQL sebagai bahasa query interaktif
Pengguna dapat memberikan perintah-
perintah untuk
mengakses basis data
yang sesuai dengan kebutuhannya. Hal
seperti ini sangat berguna untuk memenuhi kebutuhan
kebutuhan yang seketika ( hanya digunakan saat itu saja ).
2.7.3.3
SQL sebagai bahasa pemrograman basis data
Pemrograman
dapat
mnggunakan
perintah
perintah
SQL
dalam program aplikasi yang dibuat, guna mengakses basis data.
2.7.3.4
SQL sebagai bahasa klien / server
SQL
juga
dipakai
sebagai untuk
mengimplementasikan
system klien
/
server.
Sebuah
klien
dapat
menjalankan
suatu
aplikasi yang mengakses basis data yang ada pada suatu server.
Dalam hal ini system operasi antara server dan klien bisa berbeda.
Sebagai contoh, server barangkali menggunakan UNIX dan klien
menggunakan perangkat lunak DBMS yang berbeda. Sebagai
|
![]() 46
contoh,
klien
menggunakan
Visual
FoxPro
dan
server
menggunakan Informix.
2.7.4
Elemen SQL
Menurut Kadir (1999, p.104 p.106), elemen dasar SQL
mencakup
pernyataan, nama, tipe data, konstanta, ekspresi, dan fungsi bawaan.
2.7.4.1
Pernyataan
Pernyataan adalah perintah SQL yang meminta suatu
tindakan
pada
DBMS.
SQL
memiliki kira-
kira 30 pernyataan.
Beberapa pernyataan dasar SQL bisa dilihat pada tabel berikut:
PERNYATAAN
KETERANGAN
ALTER
Mengubah struktur tabel
COMMIT
Mengakhiri sebuah eksekusi transaksi
CREATE
Menciptakan tabel, indeks, atau pandangan
DELETE
Menghapus baris pada tabel
DROP
Menghapus tabel, indeks, atau pandangan
GRANT
Menugaskan hak terhadap basis data kepada pengguna atau grup
pengguna
INSERT
Menambahkan sebuah baris pada tabel
REVOKE
Membatalkan hak terhadap basis data
ROLLBACK
Mengembalikan ke keadaan semula sekiranya suatu transaksi
gagal dilaksanakan
|
![]() 47
SELECT
Memilih baris dan kolom pada tabel
UPDATE
Mengubah nilai pada sebuah baris
Tabel 2.1 Pernyataan pernyataan dasar SQL
2.7.4.2
Nama
Nama digunakan sebagai identitas bagi objek objek pada
DBMS. Contoh objek pada DBMS adalah table, kolom, dan
pengguna.
2.7.4.3
Tipe Data
Setiap data memiliki tipe data. Beberapa tipe data standar
dapat dilihat pada tabel berikut:
TIPE
DATA
KETERANGAN
CHAR
Untuk menyatakan deretan kerakter (string). Misalnya, untuk
menyatakan nama orang, nama jalan, atau nama kota
INTEGER
Untuk menyatakan bilangan bulat
NUMERIC
Untuk menyatakan bilangan real
Tabel 2.2 Tabel tipe data standar
|
![]() 48
Adapun beberapa tipe data perluasan dapat dilihat pada tabel
berikut:
TIPE DATA
KETERANGAN
VARCHAR
Untuk menyatakan string yang panjangnya bervariasi
MONEY
Untuk menyatakan uang
BOOLEAN
Menyatakan tipe logis (True atau False)
BLOB
Untuk menyatakan data biner (gambar
SERIAL atau
AUTOINCREMENT
Untuk menyatakan nilai yang urut
Tabel 2.3 Tabel tipe data perluasan
2.7.4.4
Konstanta
Konstanta
menyatakan
nilai
yang
tetap
(kebalikan
dari
konstanta adalah variabel). Beberapa contoh konstanta :
konstanta numeric : 123, -245, 5.45
konstanta : Jl. Gemblung 34
konstanta simbolik (konstanta
yang tersedia pada SQL
dan mepunyai makna tersendiri) : SYSDATE (tanggal
sistem), USER (nama pengguna yang menjalankan
SQL).
Konstanta
simbolik seringkali disebut variable
system.
|
![]() 49
2.7.4.5
Ekspresi
Ekspresi adalah segala sesuatu
yang
menghasilkan
nilai.
Ekspresi digunakan untuk menghitung nilai. Contoh : (LABA /
MODAL) * 100 merupakan ekspresi untuk membagi isi variable
LABA dengan MODAL, dan kemudian dikalikan dengan 100.
Simbol simbol yang dapat digunakan pada ekspresi
aritmatika
antara lain :
SIMBOL
KETERANGAN
*
Perkalian
/
Pembagian
+
Penjumlahan
-
Pengurangan
Tabel 2.4 Simbol pada ekspresi aritmatika
2.7.4.6
Fungsi Bawaan
Fungsi
bawaan
adalah
sebuah
sub
program yang
menghasilkan suatu nilai jika dipanggil. SQl memiliki sejumlah
fungsi
bawaan
(fungsi
yang
disediakan
oleh
SQL).
Sebagai
contoh, terdapat fungsi bernama
MIN
yang
digunakan
untk
memperoleh nilai terkecil atau AVG untuk memperoleh nilai
rata
rata.
|
50
2.7.5
Kelompok Pernyataan SQL
Pernyataan
SQL
dapat
dikelompokkan
menjadi
5
kelompok,
DDL,
DML, DCL, pengendali transaksi, dan pengendali programatik.
2.7.5.1
DDL (Data Definition Language)
Menurut Subekti (1997, p20), DDL (Data Definition
Language) adalah suatu bahasa yang dipakai untuk menjelaskan
objek
dari
basisdata
seperti
terlihat
oleh pengguna
(DBA,
programmer, pengguna akhir). DDL dipakai untuk
mendefinisikan kerangka basisdata (berorientasi pada tipe dari
objek basisdata).
DDL
merupakan
kelompok
perintah yang berfungsi untuk
mendefinisikan
attribute
attribute basis
data,
table,
attribute
(kolom), batasan batasan terhadap terhadap suatu attribute, serta
hubungan
antar
table.
Yang temasuk dalam kelompok
DDL
ini
adalah CREATE, ALTER, dan DROP.
2.7.5.2
DML (Data Manipulation Language)
Menurut
Subekti
(1997,
p20),
DML
(Data Manipulation
Language) adalah suatu bahasa yang dipakai untuk memanipulasi
(memasukkan,
merubah,
menghapus)
objek data dari basisdata.
Perintah yang masuk kategori DML adalah :
SELECT
memilih data
INSERT
menambah data
|
51
DELETE
menghapus data
UPDATE mengubah data
2.7.5.3
DCL (Data Control Language)
DCL berisi perintah
perintah
untuk
mengendalikan
pengaksesan
data.
Pengendalian
dapat
dilakukan
per
pengguna,
per table, per kolom, maupun per operasi yang boleh dilakukan.
Perintah perintah yang termasuk DCL adalah :
GRANT memberikan kendali pengaksesan
data
REVOKE
mencabut kemampuan
pengaksesan
data
LOCK TABLE
mengunci table
2.7.5.4
Pengendali Transaksi
Pengendalian transaksi adalah perintah
perintah yang
berfungsi untuk mengendalikan pengeksekusian transaksi.
Perintah yang termasuk dalam kategori ini :
COMMIT
menyetujui rangkaian perintah yang
berhubungan
erat (disebut transaksi) yang telah
berhasil dilakukan.
ROLLBACK membatalkan transaksi
yang
dilakukan karena adanya kesalahan atau kegagalan
pada salh satu rangkaian perintah.
|
52
2.7.5.5
Pengendali Programatik
Pengendalian programatik mencakup pernyataan
pernyataan yang berhubungan dengan pemanfaatan SQL dalam
bahasa lain (SQL yang dilekatkan). Pernyataan pernyatan ini
bias dipakai pada bahasa konvensional (3 GL), seperti COBOL.
Yang termasuk dalam pengendalian programatik :
CLOSE
menutup kursor (pointer yang menunjuk ke
tabel)
DECLARE
mendeklarasikan kursor
FETCH
mengambil nilai baris berikutnya
OPEN
untuk membuka kursor
2.8
Teori teori lain
2.8.1
Flowchart
Flowchart adalah sebuah representasi bergambar dari urusan proses
operasi
pada
system informasi
atau
program.
Flowchart
dari
system
informasi
menunjukan
bagaimana
aliran data dari dokumen sumber
melewati
computer
untuk
kemudian
didistribusikan pada para pengguna.
Flowchart program menunjukan urutan dari instruksi pada sebuah program
atau subrutin.
|
53
2.8.2
Entity Relationship Diagram (ERD)
E-R diagram
menggambarkan komponen-komponen dari entity dan
relasi
yang
masing-masing
dilengkapi
dengan attribute-attribute
yang
merepresentasikan
seluruh
fakta
dari real-world
yang
kita
tinjau
(Fathansyah,1999,p79). Sedangkan menurut Silberschatz(2002,p42),
E-R
diagram dapat
menyatakan
keseluruhan
struktur
logikal
dari
basis
data
dengan menggunakan bagan.
2.8.3
State Transition Diagram (STD)
Menurut
Jeffrey
dan
George
(1996,
p364),
state
transition
diagram
adalah
suatu modeling tools
yang
menggambarkan
sifat
ketergantungan
pada
waktu
dari sebuah
sistem.
Pada
mulanya
state
transition
diagram ini
hanya
digunakan
untuk
menggambarkan
suatu
sistem yang memiliki sifat realtime dan online seperti transaksi
perbankan dan sistem militer.
Terdapat 2 (dua) hal yang harus diperhatikan pada state transition
diagram yaitu :
1. Condition
Suatu event pada external environment yang dapat
dideteksi oleh sistem dalam bentuk sebuah sinyal, interupt
atau data. Hal
ini
akan menyebabkan perubahan terhadap
state dari state
menunggu X ke
state
menunggu Y atau
memindahkan aktifitas X ke aktifitas Y.
|
![]() 54
2. Action
Event
yang
terjadi
pada
sistem ketika
sistem
mengalami
perubahan state. Action
akan
menghasilkan
output, message display
pada screen dan menghasilkan
kalkulasi.
State
transition diagram
memiliki
beberapa
simbol
yang
digunakan dimana setiap state direpresentasikan oleh sebuah empat
persegi
panjang, setiap transition
direpresentasikan
dengan
anak
panah.
Event yang menyebabkan munculnya transition dari sebuah state menuju
state yang lain digambarkan dengan sebuah label yang diletakkan
disamping
anak
panah
transition. Action
yang
muncul
pada
state
dituliskan
dalam bentuk
suatu
set
list
instruksi.
Berikut
adalah
gambar
dari state, transition, event dan action.
State X
Present State
Transition
Input Data
Output Data
State Y
Next State
Gambar 2.2 State Transition Diagram
|
55
Untuk menggambarkan state transition diagram, ada beberapa
aturan yang dapat diikuti :
1. Identifikasikan initial state.
2. Gambar empat persegi panjang untuk merepresentasikan setiap state.
3. Hubungkann setiap state dengan anak panah
untuk
menunjukan
transition yang terjadi.
4. Setiap state harus menunjuk kepada satu atau lebih state yang lain.
5. Berikan label pada transisition dengan nama event.
6. Tuliskan list dari action yang terjadi pada setiap state.
7. Pertimbangkan reaksi dari sistem terhadap event yang muncul.
8. Amati diagram yang ada untuk menentukan apakah diagram tersebut
perlu diubah.
9. Diskusikan diagram tersebut dengan anggota
tim untuk
meyakinkan
akurasi dan kekonsistenan dari sistem.
2.9
Teori teori pendukung
2.9.1
Proyek
Menurut Schwalbe (2004, p4) Proyek adalah suatu usaha yang
bersifat sementara untuk menghasilkan suatu produk atau layanan yang
unik. Dalam hal proyek sistem informasi berarti proyek tersebut berupa
sistem aplikasi yang terdiri atas beberapa modul program, tetapi proyek
software bervariasi
cakupannya,
mulai
dari
membangun
sistem yang
besar
sampai
hanya
membuat
program satu
modul
saja.
Proyek
normalnya melibatkan beberapa orang yang saling berhubungan
|
56
aktivitasnya
dan
sponsor
utama
dari proyek
biasanya
tertaik
dalam
penggunaan sumber daya yang efektif untuk menyelesaikan proyek
secara efisien dan tepat waktu.
2.9.2
Manajemen
Manajemen
merupakan
poses pengkoordinasian aktivitas kerja
beberapa orang sehingga kerja
2.9.3
Manajemen Proyek
Menurut Schwalbe (2004, p8), Manajemen proyek merupakan
aplikasi dari
ilmu pengetahuan, skills, tools, dan
teknik
untuk aktifitas
suatu proyek dengan memenuhi atau melampaui kebutuhan stakeholder
dan harapan dari sebuah proyek.
Menurut Iman Soeharto (1997, p24), Manajemen proyek adalah
merencanakan, mengorganisir, memimpin dan mengendalikan sumber
daya perusahaan untuk mencapai sasaran jangka pendek yang telah
ditentukan. Lebih jauh, manajemen proyek
menggunakan pendekatan
sistem dan hirarki (arus kegiatan) vertikal maupun horizontal.
|