7
BAB 2
LANDASAN TEORI
2.1 Teori teori dasar / umum
2.1.1
Pengertian Basis data
Basis data ( database ) adalah kumpulan data yang terhubung secara
logika yang
bisa dipakai secara bersama dan deskripsi mengenai data tersebut yang didesain untuk
mendesain untuk memenuhi kebutuhan informasi dari sebuah organisasi ( Connolly,
2002, p14).
Menurut
Date
(2000,p5)
Sistem basis
data
merupakan
sistem penyimpanan
record terkomputerisasi.
Dengan
kata
lain
sistem
basis
data
merupakan
sistem
penyimpanan
informasi
yang
terkomputerisasi
sehingga
memudahkan pemakainya
untuk mengambil kembali dan memperbaharui informasi tersebut.
Menurut Faried Irmansyah (Ilmukomputer.com) database adalah Kumpulan dari
item data
yang
saling
berhubungan satu
dengan
yang
lainnya
yang
diorganisasikan
berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan
dengan software untuk melakukan manipulasi untuk kegunaan tertentu.
Pengertian data, informasi, dan sistem
informasi
menurut
Turban,
Rainer, dan
Potter
(2003,
p15).
Data
adalah
fakta-fakta
yang
belum
diolah atau
gambaran
gambaran
lebih
lanjut
dari benda-benda,
kejadian-kejadian,
kegiatan-kegiatan,
dan
transaksi-transaksi
yang
ditangkap,
direkam,
disimpan,
dan diklasifikasikan,
tetapi
tidak
disusun
untuk
menyampaikan
arti khusus
lainnya.
Informasi
adalah
sebuah
kumpulan
fakta-fakta
(
data)
yang
disusun di dalam
beberapa
cara,
jadi kumpulan
7
|
8
fakta tersebut bisa berarti bagi penerimanya. Sistem informasi adalah sebuah sistem
yang
mengumpulkan,
mengolah,
menganalisa,
dan
menyebarkan
informasi untuk
sebuah tujuan tertentu.
2.1.2
DBMS (Database Management Sistem)
Menurut Connoly dan Begg (2002, p16) Database Management Sistem ( DBMS)
merupakan suatu
sistem
piranti
lunank
yang membuat pemakai dapat
mendefinisikan,
menciptakan, mengatur dan mengontrol akses ke dalam basis data.
DBMS menyediakan beberapa fasilitas sebagai berikut :
Data Definition Language (DDL)
Memungkinkan user untuk
membuat spesifikasi tipe data,
mendefinisikan basis data,
struktur data dan data constaint.
Data Manipulation Language (DML)
Memungkinkan pemakai
untuk
memasukan,
memperbaharui,
menghapus,
dan
mengirimkan atau mengambil data dari basis data.
2.1.2.1
Komponen DBMS
Menurut Connolly dan Begg (2002, p18), ada 5 (Lima) komponen DBMS
Yaitu:
1. Hardware (Perangkat Keras)
Perangkat keras
yang dibutuhkan untuk
menjalankan DBMS dan aplikasi-
aplikasi.
|
9
Contoh: single
personal computer, single
mainframe,
atau computer
yang
menggunakan jaringan.
2. Software (Perangkat Lunak)
Komponen perangkat
lunak terdiri dari
perangkat
lunak DBMS
itu
sendiri
dan
program-program aplikasi,
bersama
dengan
sistem operasi,
termasuk
perangkat lunak jaringan.
Contoh: C,C++,Java,Visual Basic, Cobol.
3. Data
Data merupakan komponen yang paling penting dari DBMS, khususnya dari
sudut pandang pemakai akhir mengenai data.
4. Prosedur
Cara untuk menjalankan sistem, seperti bagaimana
masuk ke dalam DBMS
memulai dan
menghentikan DBMS, bagaimana
membuat data
backup
dari
basis data.
5. Manusia
Komponen terakhir adalah
manusia
yang terlibat
dengan sistem, termasuk
didalamnya
adalah Database
Administrator
(DBA),
perancang
basis
data,
pengembang aplikasi, dan pemakai akhir.
|
10
2.1.2.2
Keuntungan DBMS
Menurut Connoly dan Begg (2002,p26), keuntungan dari DBMS,
antara lain:
1. Kontrol terdapat pengulangan data.
2. Data yang konsistensi
3. Semakin banyak informasi yang didapat dari data yang sama.
4. Data yang dibagikan.
5. Menambah Integritas Data.
6. Menambah Keamanan Data.
7. Penetapan Standarisasi.
8. Pengurangan biaya.
9. Mempermudah pengoperasian data.
10. Memperbaiki pengaksean data dan hasilnya.
11. Menambah Produktivitas.
12. Memperbaiki pemeliharaan data melalui independensi data.
13. Memperbaiki pengaksesan data secara bersama-sama.
14. Servis backup dan recovery yang lebih baik.
2.1.2.3
Kerugian DBMS
Menurut Connoly dan Begg (2002,p29) kerugian penggunaan DBMS,
antara lain:
1. Kompleksitas.
2. Size/ukuran.
|
![]() 11
3. Biaya dari suatu DBMS.
4. Biaya penambahan perangkat keras.
5. Biaya konversi tinggi.
6. Mengurangi performa penggunaan aplikasi.
7. Kegagalan dapat berdampak lebih kuat.
2.1.3 Database Application Lifecycle
Siklus
hidup aplikasi database
merupakan tahapan dalam merancang sistem
database. Siklus hidup apliasi database digambarkan seperti bagan berikut ini (Connoly,
2002, p272).
Gambar 2.1 Database Application Life Cycle
|
12
2.1.3.1
Database Planning
Mengatur atau
merencanakan
aktifitas-aktifitas dengan
mengikuti
langkah-
langkah dari aplikasi database dan diterapkan seefektif
dan seefisien
mungkin.
Ada
tiga
masalah
pokok
yang
harus
diperhatikan
dalam
merumuskan
strategi sistem
informasi (Connolly, 2002, p273).
Mengidentifikasi
rencana
dan
tujuan
perusahaan
dengan
menetukan
sistem
informasi yang diperlukan.
Mengevaluasi
sistem
informasi
yang
ada
untuk
melihat
kelebihan
dan
kekurangannya.
Penilaian
mengenai peluang
IT yang
mungkin
dapat
menghasilkan keuntungan
yang kompetitif.
2.1.3.2
System definition
Mendeskripsikan
ruang
lingkup
dari
aplikasi
database
yang
akan dibuat
termasuk
user tempat aplikasi database diterapkan (Connolly, 2002, p274). Sebelum
mencoba
untuk
merancang
suatu
aplikasi
database,
sangatlah penting
untuk
kita
mengidentifikasi
batasan-batasan
sistem
yang
ada
dan
bagaimana
sistem tersebut
berinteraksi dengan
bagian
sistem
informasi
yang
lain
dalam perusahaan
tersebut.
Penting
juga untuk
mengikutsertakan didalam batasan-batasan sistem yang kita
buat
tidak
hanya
untuk aplikasi dan pemakai saat
ini
saja
tetapi bisa digunakan dimasa
yang akan datang.
|
13
2.1.3.3 Requirements Collection and Analysis
Proses
mengumpulkan dan
menganalisa kebutuhan-kebutuhan user.
Langkah
ini
melibatkan
pengumpulan
dan
analisa dari informasi
tentang bagian dari
perusahaan yang akan
dibuat sebuah basis data. Ada banyak teknik untuk
memperoleh
informasi, dan disebut dengan
fact
finding techniques. Informasi yang
dibutuhkan mencakup:
Deskripsi tentang data yang digunakan.
Keterangan secara lengkap bagaimana data tersebut digunakan.
Kebutuhan tambahan lainnya untuk aplikasi data yang baru.
Informasi
ini kemudian
akan
dianalisa
untuk
mengidentifikasikan
kebutuhan
yang
tercukup dalam aplikasi database yang baru. Kebutuhan ini diuraikan dalam dokumen
secara
bersama
dikenal
sebagai
spesifikasi
kebutuhan untuk aplikasi
database
yang
baru. Analisa dan koleksi kebutuhan adalah suatu langkah perisapan untuk merancang
suatu
basis
data. Jumlah data
yang
dikumpulkan tergantung
pada
sifat
alami dari
masalah dan
kebijakan
perusahaan.
Mengidentifikasi kemampuan
yang
diperlukan
untuk
suatu
aplikasi database
adalah
suatu
aktifitas
yang
penting,
karena
sistem
dengan
kemampuan yang tidak sempuran atau tidak
cukup akan mengganggu user,
yang memunkinkan sistem tersebut tidak digunakan lagi atau ditolak. Bagaimanapun,
kemampuan sistem yang berlebihan dapat juga menjadi masalah misalnya suatu
sistem yang
terlalu
rumit
dapat
membuat
sukar
untuk
penerapan,
pemeliharaan,
penggunaan atau belajar menggunakan sistem tersebut.
|
14
2.1.3.4 Database design
Salah
satu
aplikasi
yang
umum dikenal
dalam
aplikasi
basis
data
adalah
database
design (perancangan
basis
data).
Perancangan
basis
data
dimulai
ketika
analisis terhadap kebutuhan perusahaan telah dilakukan. Di dalam perancangan basis
data
terdapat
suatu
metodologi
yang
membantu
dalam
membuat
suatu basis
data.
Yang
dimaksud
dengan perancangan
basis
data
adalah
sebuah pendekatan struktur
yang mencakup prosedur, teknik, alat bantu dan tujuan dokumentasi
untuk
mendukung dan
memberi
sarana dalam proses perancangan
itu sendiri. Metodologi
perancangan
basis
data
terdiri dari
tahap-tahap
yang
membantu
perancang
dengan
teknik yang
tepat dalam setiap merancang basis data. Metodologi perancangan basis
data
juga membantu
perancangan untuk
merencanakan,
mengatur dan
mengevaluasi
pengembangan dari proyek
pembuatan
basis
data
(
database
)
tersebut
(
Connoly,
2002, p419).
Dalam
metodologi perancangan basis
data ( database ), proses perancangan dibagi
menjadi 3
bagian
yaitu
conceptual
database design,
logical
database
design,
dan
physical database design.
1. Conceptual Database Design
Proses
membangun sebuah
model
dari
informasi
yang
digunakan dalam
perusahaan, terbebas dari semua pertimbangan fisik.
Conceptual database design
meliputi pembuatan sebuah
konseptual data
model
sebagai
bagian
dari perusahaan.
Data
model
dibangun
menggunakan
informasi
yang
didokumentasikan
dari user
requirement.
Conceptual
database
design secara keseluruhan tidak mencakup detail implementasinya, seperti DBMS
|
15
software yang dipakai, aplikasi program, programming, language, hardware
platform atau pertimbangan fisik lainnya.
2. Logical Database Design
Proses membangun sebuah model informasi yang digunakan dalam sebuah
perusahaan
berdasarkan
pada
sebuah
data
model tertentu
tetapi terbebas
dari
penggunaan DBMS tertentu dan pertimbangan fisik lainnya.
Conceptual
data
model yang
dibuat
pada
tahap
sebelumnya
disempurnakan dan dipetakan menjadi sebuah logical data model.
3. Physical Database Design
Physical
database
design
dilakukan untuk
memutuskan
struktur
logic
secara
fisik diimplementasikan ke dalam tujuan
Database Management System (
DBMS
),
para perancang
juga
harus
membuat
keputusan
mengenai bagaimana
basis
data
(
database
)
tersebut
dapat
diimplementasikan /
diterapkan dalam
perusahaan. Oleh karena
itu, physical database design
harus disesuaikan dengan
DBMS
yang
spesifik.
Terdapat
hubungan antara physical dan
logical database
design,
karena
keputusan
yang
diambil pada
physical database
design untuk
meningkatkan
kinerja
dari
basis
data (database)
tersebut
dapat
mempengaruhi
logical data model.
Berikut ini merupakan factor-faktor yang penting dalam merancang
suatu basis data (database) yaitu (Connolly,2002,p420):
a. Mengadakan pertemuan dengan user sesering
mungkin untuk membicarakan
rancangan basis data (database) yang akan dibuat.
|
16
b. Mengikuti langkah-langkah yang terdapat dalam metodologi perancangan
basis data ( database ).
c. Melakukan pendekatan terhadap data-data yang akan digunakan.
d. Menggabungkan pertimbangan integrity dan structural ke dalam model data.
e. Menggabungkan konseptual, normalisasi, dan validasi transaksi ke dalam
metodologi model data.
f.
Gunakan diagram untuk menjelaskan model data tersebut.
g. Gunakan
Database
Design
Language
(DDL)
untuk
menjelaskan
tambahan
data yang tidak bisa dijelaskan dengan menggunakan diagram.
h. Buat kamus data untuk mendukung diagram dari model data dan DDL.
i.
Mengulangi langkah-langkah yang tersebutkan diatas.
2.1.3.5
DBMS Selection
Menurut Connolly
& Begg (2002, p 284), pilihlah DBMS yang sesuai untuk
mendukung aplikasi database. Pemilihan DBMS bertujuan untuk memenuhi
kebutuhan perusahaan sekarang dan masa yang akan dating,
menyeimbangkan antara
biaya
pembelian
produk
DBMS,
software
atau hardware
yang
dibutuhkan
untuk
mendukung sistem database, dan biaya pergantian dan pelatihan staf.
Pendekatan
paling
mudah dalam
pemilihan tersebut
adalah
memeriksa
kebutuhan
fitur-fitur
DBMS.
Dalam
memilih
produk DBMS
baru,
harus
dipastikan
proses pemilihan direncanakan dengan baik dan sistem
itu
memberikan keuntungan
nyata bagi perusahaan.
|
17
2.1.3.6
Application Design
Menurut
Connoly
dan
Begg
(2002,p287),
application
design
adalah
desain
user interface dan program aplikasi yang menggunakan dan memproses database.
Dalam banyak kasus tidak mungkin menyelesaikan application design sampai desain
database
yang dimana
aplikasi
itu
berdiri
diselesaikan.
Di
lain
pihak
database
ada
untuk
mendukung aplikasi, dan
harus
terjadi aliran
informasi antara desain aplikasi
dan desain
database.
Kita
harus
memastikan semua
fungsionalitas yang
diutarakan
dalam spesifikasi kebutuhan user terdapat dalam desain aplikasi untuk aplikasi
database.Hal ini termasuk mendesain program aplikasi yang mengakses database dan
mendesain desain transaksi (transaction design). Sebagai tambahan dalam mendesain
supaya
fungsionalitas
yang
dibutuhkan
tercapai
kita
hrus
mendesain
user
interface
yang sesuai
untuk aplikasi database. Interface
ini
harus
menyajikan
informasi
yang
dibutuhkan secara user friendly.
2.1.3.7
Prototyping
Membangun
suatu
model kerja
dari
aplikasi
database.
Tujuan
utama
mengembangkan
suatu
prototype
aplikasi database
adalah
mengizinkan
user
untuk
menggunakan
prototype guna
mengidentifikasi corak sistem apakah bekerja
dengan
baik dan jika mungkin meningkatkan
corak
baru kepada aplikasi
database.
Dengan cara ini kita dapat memperjelas kebutuhan pemakai dan pengembang
sistem dalam
mengevaluasi
kelayakan
desain
sistem tertentu.
Prototype
perlu
mempunyai
keuntungan
yang
utama
yang
secara
relatif cepat
dan
murah
untuk
dibangun.
|
18
Ada
2 strategi
yang digunakan saat
ini
yaitu
requirement prototyping dan
evolutionary
prototyping.
Requirement
prototyping
digunakan untuk
menentukan
kebutuhan
suatu
aplikasi database
yang
diusulkan dan ketika
kebutuhan
terhadap
suatu aplikasi database tidak lengkap
maka prototype tersebut tidak digunakan
lagi.
Evolutionary prototyping digunakan untuk tujuan yang sama, perbedaan yang penting
adalah
bahwa
prototype
tidak
dibuang
tetapi dengan
pengembangan
lebih
lanjut.
Prototype tersebut bekerjasama dengan aplikasi database.
2.1.3.8
Implementation
Implementasi
merupakan realisasi
secara
fisik
dari database dan desain
aplikasi (Connoly,2002,p292).
Pada
tahap
penyelesaian
desain
(dimana
dapat
melibatkan pembuatan
prototype atau tidak), kini kita dapat menerapkan basis data
dan program aplikasi yang
telah kita buat. Implementation basis
data menggunakan
DDL
yang
kita
pilih
dalam
melakukan
pemilihan Database
Management
Sistem
(DBMS)
atau
dengan
menggunakan Graphical
User
Interface
(GUI),
yang
menyediakan
fungsional
yang
sama
dengan
pernyataan
DDL
yang
low level,
Pernyataan
DDL
digunakan untuk
menciptakan
struktur
basis
data
dan
mengosongkan file yang terdapat dalam basis data tersebut.
Program aplikasi
diterapkan
dengan
menggunakan bahas
generasi ke-4
atau
ke-3 yang lebih disukai. Bagian dari program aplikasi ini adalah transaksi basis data,
yang diterapkan dengan
menggunakan DML. Transaksi basis data juga dapat dibuat
dalam bahasa pemrograman seperti visual basic, delphi, c, c++, java, cobol, fortran,
|
19
ada atau
pascal.
Kita
juga
menerapkan komponen
lain
dari
desain
aplikasi
seperti
layar menu, format masukkan data, dan laporan.
Pengendalian keamanan dan
integritas untuk aplikasi juga
telah diterapkan
pada sebagian dari
kendali
ini yang telah
diimplementasikan
dengan menggunakan
DDL, tetapi lain mungkin perlu
untuk digambarkan diluar dari DDL. Sebagai contoh
penggunaan yang disediakan DBMS ata kendali sistem operasi.
2.1.3.9
Data Conversion dan Loading
Pemindahan data yang ada dalam basis data yang baru dan mengubah aplikasi
yang
sedang
berjalan
agar
dapat
digunakan dalam
basis
data
yang
baru.
(Connoly,2002,p293)
langkah
ini
diperlukanj
hanya
ketika
suatu
sistem
basis
data
baru
sedang
menggantikan suatu
sistem basis
data
yang
lama.
Sekarang
ini,
telah
menjadi umjum suatu DBMS untuk
mempunyai suatu kegunaan yang dapat mengisi
file yang
ada
kedalam
basis data baru.
Kegunaan
yang ada
umumnya memerlukan
spesifikasi
sumber
file
dan
target
basis
data
dan kemudian
secara
otomatis
menkonversi data
itu kedalam
format
yang
diperlukan basis
data
yang baru. Kapan
saja konversi dan pembuatan diperlukan proses harus dengan baik direncanakan agar
basis data tersebut dapat sesuai dengan kebutuhan yang ada.
2.1.3.10 Testing
Testing
adalah
suatu
proses
melaksanakan
proram aplikasi
dengan
tujuan
menemukan
kesalahan (Connolly,
2002,p293).
Sebelum
diterapkan
dalam
suatu
sistem,
basis
data
harus
dilakukan
testing
terlebih
dahulu.
Hal
ini
dicapai dengan
|
20
penggunaan
secara
hati-hati untuk
merencanakan
suatu
test
dan
data
yang realistis
sedemikian
sehingga
keseluruhan proses
pengujian
sesuai dengan
metode
dan
dilaksasnakan sesuai aturan yang ada.
2.1.3.11
Operational Maintenance
Suatu proses untuk
memonitor dan
merawat
sistem setelah
instalasi.
Dalam
langkah-langkah yang sebelumnya, aplikasi basis data telah secara penuh diterapkan
dan
diuju.
Sistem sekarang
sudah
berpindah
ke
suatu
langkah pemeliharaan,
yang
melibatkan aktifitas berikut (Connoly,2002,p293):
Monitoring performance dari sistem, Jika performance jatuh dibawah suatu
tingkatan yang bisa diterima, setting
ulang atau reorganisasi basis data
mungkin
diperlukan.
Maintaining dan meningkatkan mutu aplikasi basis data (jika diperlukan).
Kebutuhan baru
disatukan
ke
dalam aplikasi
data
dengan
mengikuti
langkah-
langkah sebelumnya yang terdapat dalam database life cycle.
Ketika aplikasi basis data sedang beroperasi, perlu dilakukan monitoring
secara
dekat
untuk
memastikan bahwa
performance
dalam
tingkatan
yang
bisa
diterima.
Suatu
DBMS
secara
normal
menyediakan
berbagai
kegunaan untuk
membantu administrasi basis data yang mencakup kegunaan
untuk
mengisi data ke
dalam suatu basis data dan memonitor sistem tersebut.
Kegunaan yang mengizinkan sistem melakukan monitoring secara berdampingan atau
berhadapan
informasi sebagai contoh, pemakaian basis
data
mengunci
efisiensi dan
Query strategi pelaksanaan. Database Administrator (DBA) dapat
menggunakan
|
21
informasi ini untuk menyetel sistem dan untuk memberi performance yang lebih baik,
sebagai
contoh
dengan
menciptakan index
tambahan
untuk
mempercepat
Query,
dengan
mengubah
struktur
basis
data,
atau
dengan
melakukan kombinasi terhadap
tabel yang ada.
Monitoring process akan terus berlanjut pada sepanjang
hidup suatu aplikasi
basis data tersebut dan pada waktu tertentu boleh
melakukan reorganisasi basis data
untuk mencukupi
kebutuhan
dalam
sistem. Perubahan ini
menyediakan informasi
pada evolusi sistem dan sumber daya yang ada pada masa yang akan datang mungkin
diperlukan.
Hal ini
memungkinkan
DBA untuk terlibat dalam perencanaan kapasitas dan
untuk
memberi tahu
staff
senior
siaga
untuk
melakukan penyesuaian rencana
jika
DBMS kekurangan
kegunaan
tertentu,
DBA
dapat
mengembangkan kegunaan yang
diperlukan atau membeli tools tambahana jika tersedia.
2.1.4
Tahapan Perancangan Basis Data
Connoly & Begg (2002,p417-476)
mendefinisikan
metodologi perancangan basis
data atas tiga tahapan, yaitu: perancangan basis data konseptual, perancangan basis data
logikal, dan perancangan basis data fisikal.
2.1.4.1
Perancangan Basis Data Konseptual
Tahap
ini
merupakan proses
pembuatan
model
informasi
yang
digunakan
dalam sebuah perusahaan yang tidak tergantung pada semua
masalah fisik. Awal
tahap ini dimulai dengan pembuatan conceptual data model perusahaan yang secara
|
22
keseluruhan
bebas dari detail
implementasi
seperti DBMS
yang
digunakan,
program aplikasi,
bahasa
pemrograman,
platform untuk
hardware,
tingkat
kerja,
maupun bentuk masalah fisik lainnya.
Berikut
ini
merupakan
langkah-langkah
metodologi dari
perancangan
konseptual basis data:
¾
Membuat data model konseptual yang bersifat lokal untuk setiap view.
Dalam analisis, sejumlah user view bisa teridentifikasi dan, sejumlah view
juga
ada
yang
salin tumpang
tindih,
dan
beberapa
user
view
telah
digabungkan menjadi bentuk view yang kolektif.
Mengidentifikasi tipe entiti
Langkah pertama dalam membangun
local konseptual data
model adalah
dengan
menjelaskan objek
utama
dimana
user
tersebut
terlibat
didalamnya. Objek-objek
ini
adalah tipe
entiti untuk
model. Satu
metode
dari
mengidenfitikasi
entiti
yang
spesifikasi
kebutuhan user.
Dari
spesifikasi ini ditentukan kata-kata benda yang disebutkan. Jalan yang lain
adalah dengan mengidentifikasi entiti adalah dengan mengidentifikasi
entiti yang terlihat seperti objek yang keberadaanya tidak tergantung
kepada keberadaan entiti lainnya.
Mengidentifikasi tipe relasi
Tujuan dari mengidentifikasi tipe entiti adalah untuk mengidentifikasi
relasi
yang
penting
yang
ada
diantara
tipe-tipe
entiti yang
telah
diidentifikasikan.
|
23
2.1.4.2
Perancangan Basis Data Logikal
Perancangan
basis
data
secara
logical
merupakan proses
pembuatan
model
informasi
yang
digunakan
perusahaan
berdasarkan pada
model data
khusus,
tapi
bebas dari DBMS tertentu dan masalah fisik lainnya. Tahapan ini memetakan
model konseptual pada
sebuah
model
logikal
yang
dipengaruhi oleh
data
model
untuk database tujuan. Model data logikal yang dipengaruhi oleh data model untuk
database
tujuan.
Model data
logikal
merupakan
sumber
informasi untuk
tahap
perancangan physical,
menyediakan
suatu
kendaraan
bagi
perancang
physical
database untuk melakukan pertukaran yang sangat penting untuk perancangan basis
data yang efisien.
Aktifitas pada logical database design terdiri dari dua
langkah besar, dimana
langkah pertama adalah membangun
sebuah
model
data
logikal
lokal dari model
data konseptual lokal yang menggambarkan pandangan tertentu dari perusahaan dan
kemudian
mengesahkan
model
ini
untuk memastikan
strukturnya
telah benar atau
menggunakan teknik
normalisasi.
Sedangkan
langkah kedua
atau
langkah
selanjutnya adalah
untuk
membuat kombinasi
model data
logikal
lokal
individual
ke
dalam sebuah
model data
logikal global
tunggal
yang
menggambarkan
perusahaan.
Hasil akhir dari tahapan
ini
berupa sebuah kamus
data
yang
berisi semua
atribut serta key-nya (primary key, alternate key dan foreign key) dan ERD secara
keseluruhan (relasi global) dengan sebuah atribut keynya.
Berikut
ini
merupakan
langkah-langkah
metodologi dari perancangan
logical
basis data:
|
24
¾
Membuat dan memvalidasikan data model lokal yang logical untuk setiap
tampilan
Menghilangkan
fitur-fitur
yang
tidak
kompatibel
dengan
model
relasional(optional step)
Turunkan relasi-relasi untuk data model logikal lokal
Memvalidasikan relasi-relasi menggunakan normalisasi
Memvalidasikan relasi-relasi terhadap transaksi pengguna
Menentukan integrity contraints ( batasan-batasan yang diberlakukan dalam
rangka menjaga suatu database agar tidak berubah menjadi tidak konsisten)
Melihat kembali data model logikal lokal dengan pengguna
¾
Membuat dan memvalidasika data model global ang logical
Menggabungkan data logical lokal menjadi model global.
Memvalidasikan data model logikal global
Periksa untuk perkembangan mendatang
Melihat kembali data model logikal global dengan pengguna
2.1.4.3
Perancangan Basis Data Fisikal
Perancangan
basis
data
secara
fisik
merupakan
proses
pembuatan
deskripsi
dari
implementasi
database pada secondary storage yang
menjelaskan basis
relasi,
organisasi file, dan indeks yang digunakan untuk memperoleh akses pada data yang
efisien, dan masalah integritas lainnya yang berkaitan, dan menentukan mekanisme
security.
Tahap
ini
memungkinkan perancang
untuk
menentukan
bagaimana basis
data diimplementasikan. Oleh karena itu, rancangan fisikal dirancang untuk DBMS
|
25
yang
kusus.
Antara
rancangan
logical dan
fisikal terdapat
keterkaitan,
Hal
ini
disebabkan karena
keputusan
yang
diambil
selama
perancangan
fisikal
untuk
meningkatkan kinerja bisa mempengaruhi logical data model.
Tujuan utama untuk model relasional ini meliputi:
Membuat kumpulan table relasional
dan contraints pada tabel
tersebut dari
informasi yang didapatkan dalam model data logical.
Mengidentifikasikan struktur penyimpanan tertentu dan metode akses terhadap
data untuk mencapai performa optimal dari sistem basis data.
Merancang proteksi keamanan untuk sistem.
Aktifitas
dari physical
database
design
adalah
menterjemahkan
model daa
logikal global
ke
dalam
sasaran DBMS,
dimana
dengan
membuat
base
relation
dengan menggunakan database design language yang tujuannya untuk memutuskan
bagaimana representasi relasi utama yang diidentifikasikan dalam
model data
logikal
global ke
dalam DBMS,
merancang constraint perusahaan
untuk kegiatan
transaksi (
update and retrieve data),
menentukan
kebutuhan sumber daya sistem
dan organisasi file.
Berikut
ini
merupakan
langkah-langkah
metodologi dari perancangan fisikal
basis data:
¾
Mengubah data model global yang logical untuk target DBMS
Merancang relasi-relasi dasar
Merancang representasi data turunan
Merancang enterprise contraints
|
26
¾
Merancang representasi fisik
Analisa transaksi-transaksi
Memilih pengaturan-pengaturan file
Memilih pengindeksan-pengindeksan
Memperkirakan kebutuhak disk space
¾
Merancang tampilan pengguna
¾
Merancang mekanisme keamanan
¾
Mempertimbangkan pengenalan dari kontrol pengulangan
¾
Mengawasi dan mengatur sistem operasional
2.1.5
Entity Relationship Modelling
Menurut
Connoly dan
Begg
(2002,p30),
salah
satu
aspek
yang
sulit
dalam
perancangan database adalah kenyataanya bahwa perancang, programmer, dan pemakai
akhir cenderung melihat data dengan cara yang berbeda. Untuk memastikan
pemahaman secara alamiah dari data dan bagaimana data digunakan
oleh perusahaan
dibutuhkan sebuah bentuk komunikasi yang non-teknis dan bebas dari kebingungan.
Berikut ini adalah notasi Entity-Relatioship Modelling menurut Connolly dan
Begg:
|
![]() 27
Entity Name
Relate to
A
B
Relationship
Name
Gambar 2.2 Notasi Entity-Relationship Modelling
2.1.5.1
Entity type
Tipe entity adalah kumpulan objek-objek dengan properti yang sama, yang
didefinisikan oleh perusahaan yang keberadaanya tidak tergantung.
Konsep dasar dari bentuk Entity Relationship
adalah tipe entitiy. Sebuah
tipe
entity memiliki
keberadaan
yang
bebeas
dan
bisa
menjadi
objek
dengan
keberadaan
fisik
atau
menjadi objek
dengan keberadaan konsptual.
Ini
berarti
perancang
yang
berbeda mungkin
mengidentifikasikan entity yang berbeda. Entity
occurence adalah objek dan tipe entity uang dapat diidentifikasikan secara unik.
2.1.5.2
Relationship Type
Pengertian relationship type
menurut Connolly dan Begg(2002,p334)
Relationship type is a set of meaningful associations among entity types. Yang
|
![]() 28
dapat diartikan Relationship type adalah sekumpulan hubungan berarti antara tipe-
tipe entitas.
Derajat
dari relationship
type
(degree
of
a
relationship
type
)
menurut
Connoly dan Begg(2002,p335) adalah
jumlah tipe-tipe
entitas
yang
berpartisipasi
dalam
suatu relationship.
Entitas-entitas
yang
berpartisipasi
tersebut
dikenal
sebagai participant
dalam relationship
itu.
Oleh
karena
itu,
derajat
dari sebuah
relationship
menunjukkan
jumlah
dari entitas
yang
terkait
dalam
relationship
tersebut. Sebuah relationship berderajat dua disebut binary, relationship berderajat
tiga disebut ternary, dan relationship yang berderajat empat disebut sebagai
quaternary.
Relationship Name
Has
Staff
Branch
Gambar 2.3 Diagram representasi Branch Has staff relationship type
(
Sumber Connolly dan Begg, 2002, p335 )
2.1.5.3
Attribute
Menurut Connolly dan Begg (2002, p338-340), attribute adalah properti
dari
sebuah
entitas
atau
relationship
type.
Attribute
menyimpan
nilai
yang
|
29
menggambarkan setiap entity occurence dan mewakili bagian utama dari data yang
disimpan dalam basis data.
Attribute domain adalah sekumpulan nilai yang diperkenankan untuk satu
atau
lebih
attribute.
Setiap
attribute yang diasosiasikan dengan
sekumpulan
nilai
disebut
domain.
Domain
menetapkan
nilai
potensial
yang
sebuah attribute
dapat
simpan atau sama dengan konsep domain pada model relasional.
Simple
attribute
adalah sebuah attribute
yang
tersusun atas
komponen
tunggal dengan keadaan yang bebas (independent existence). Simple attribute tidak
bisa dibagi lagi menjadi komponen yang lebih kecil. Contohnya, posisi dan gaji dari
entitas pegawai.
Composed
attribute
adalah sebuah attribute
yang
tersusun atas
banyak
komponen, dimana setiap komponennya memiliki keadaan yang bebas (independent
existence).
Beberapa
Attribute
lebih
lanjut
dapat
dibagi
menjadi komponen-
komponen
yang
lebih
kecil dengan
masing-masing
komponen
memiliki keadaan
bebas. Contoh
attribute
alamat dari
entitas
kantor cabang
yang
mengandung
nilai
(jalan, kota, dan kode pos) dapat dipecah menjadi simple attribute jalan, kota, dan
kode pos.
Single-valued
attribute
adalah sebuah attribute
yang
menyimpan
nilai
tunggal untuk setiap kejadian dalam entity type.
Multi-valued attribute adalah sebuah attribute yang
menyimpan lebih dari
satu
nilai
untuk
setiap kejadian dalam
entity type.
Contoh
attribute telepon pada
entitas kantor cabang bisa memiliki lebih dari satu nomor telepon.
|
![]() 30
Derive
attribute (atribut turunan) adalah sebuah attribute
yang mewakili
sebuah nilai yang diturunkan dari nilai attribute yang bersangkutan atau
sekumpulan attribute, tidak perlu berasal dari entitas yang sama.
2.1.5.4
Key
Menurut
Connolly dan
Begg
(2002,p340-341),
candidate
key
adalah
sekumpulan minimal attribute yang secara unik mengidentifikasikan setiap kejadian
(
occurence ) dari setiap sebuah entity type.
Primary key adalah candidate key yang dipilih untuk mengidentifikasikan
setiap kejadian ( occurrence ) dari sebuah entity type. Alternate key adalah
candidate key
yang tidak dipilih
menjadi primary key.
Composite
key
adalah
candidate key yang
terdiri
dari dua atau
lebih attribute atau sekumpulan attribute
dalam suatu
relasi yang sesuai
dengan
candidate key
dari
beberapa relasi
atau
mungkin relasi yang sama.
Primary key
Manages
Staff
Branch
Area to list
attribute(s)
staffNo {PK}
name
position
salary
/totalStaff
Has
Derived
attribute
branchNo {PK}
address
street
city
postcode
telNo [1..3]
Composite
attribute
Multi-valued attribute
Gambar 2.4 Diagram representasi entity Staff dan Branch dengan
attributnya( Sumber Connolly dan Begg, 2002,p342-343)
|
![]() 31
Strong entity
adalah
sebuah
tipe entity yang keberadaanya
tidak bergantung pada
tipe
entity
lain. Karakteristik adalah setiap kejadian
entitynya secara
unik
mampu
diidentifikasikan menggunakan atribut primary key pada entitynya.
Weak
entity adalah
tipe
entity
yang
keberadaanya
bergantung
pada
keberadaan
entity
yang
lainnya.
Karakteristiknya
adalah
setiap
kejadian
entity tidak
bisa
diidentifikasikan secara
unik
hanya dengan
menggunakan atribut
yang bergantung
pada entitynya.
Strong entity
Weak entity
Client
Preference
ClientNo {PK}
Name
fName
lName
telNo
States
prefType
maxRent
Gambar 2.5 Strong dan weak entity (Connoly dan Begg,2002,p342)
2.1.5.5 Structural Constraints
Tipe utama dari batasan hubungan didalam relationship disebut Multiplicity.
Multiplicity adalah
sejumlah
kemunginan
kejadian-kejadian
dari
sebuah
entity
type di
dalam sebuah hubungan n-nary
ketika nilai-nilai yang lain(n-1)
ditentukan.
|
![]() 32
Entity Name
Relationship
Entity Name
A
C
Multiplicity biasanya terdiri dari duat batasan terpisah, yaitu:
¾
Cardinality: Mendeskripsikan jumlah maksimum dari kemungkinan kejadian-
kejadian yang saling berhubungan untuk sebuah partisipasi entity dalam
proses penentuan tipe relationship.
¾
Participation:
Menentukan apakan semua
kejadian-kejadian entity akan
ikut
berpartisipasi dalam sebuah relationship
atau
beberapa
saja
yang
ikut
berpartisipasi.
Jenis-jenis mulplicity menurut Connolly dan Begg (2002,p345) adalah:
1. One-to-one (1:1) Relationship
entity type
relationship types
entity type
A
B
C
Gambar 2.6 One-to-one (1:1) Relationship
Pada
gambar 2.6 kita bisa
melihat bahwa A
hanya berhubungan
one
to one
(1:1) dengan B, dan B hanya terhubung one-to-one (1:1) dengan C. Jadi dari
gambar
tersebut
kita
dapat
menulis
notasi
multiplicity-nya
dengan gambar
dibawah ini.
1..1
0..1
Gambar 2.7 notasi 1:1 Relationship
|
![]() 33
2. One-to-Many (1:*) Relationships
entity type
relationship types
entity type
A
B
D
C
E
Gambar 2.8 Gambar One-to-Many Relationships
Pada
gambar
2.8
kita
bisa
melihat
bahwa
A
terhubung
One-to-Many (1:*)
dengan
D
dan
E.
Jadi dari
gambar
tersebut
kita
dapat
menulis
notasi
multiplicitynya dengan gambar di bawah ini.
Entity Name
A
Relationship
0..1
0..*
Entity Name
D
E
Gambar 2.9 Notasi 1:* Relationship
3. Many-to-Many (*:*) Relationships
Entity types
Relationship Types
Entity Types
A
C
E
B
D
F
Gambar 2.10 Gambar Many-to-Many Relationships
Pada gambar
2.10 kita bisa
melihat
bahwa
A
terhubung One-to-Many (1:*)
dengan C dan D. Sedangkan E terhubung One-to-Many (1:*) dengan A dan B.
|
![]() 34
Jadi dari
entity Group1
(
valuenya
A
dari gambar
diatas)
dan
Group
2
(valuenya E dari gambar di atas) terhubung Many-to-Many (*:*). Dari gambar
tersebut kita dapat
menulis
notasi multiplicity-nya dengan gambar di bawah
ini.
Entity Name
Relatiopnship
Entity Name
A
B
0..*
1..*
E
F
Gambar 2.11 Notasi *:* Relationship
Masalah yang dapat timbul dari Entity Types Model adalah:
¾
Fan
Traps,
terjadi ketika
sebuah
model
merepresentasikan sebuah
relasi
antara tipe-tipe dari entity,
tetapi jalur
yang
terdapat
diantara kejadian-
kejadian entity tertentu masih ambigu.
¾
Chasm traps, terjadi ketia sebuah model menganjurkan keberadaan sebuah
relasi
diantara
tipe-tipe
dari
entity,
tetapi tidak
terdapat
jalur
diantara
kejadian-kejadian entity tersebut.
2.1.5.6 Integrity Constraint
Integrity Constrain
merupakan
batasan
yang
kita
inginkan
untuk
mencegah
database
menjadi
tidak konsisten.
Integrity constraints
dibagi
menjadi 4
bentuk
dasar, yaitu:
|
35
¾
Required
data,
beberapa atribut
harus
selalu
mengandung
nilai yang
valid,
dengan kata lain tidak boleh mengandung null.
¾
Attribut
domain
constraint, setiap
atribut
mempunyai domain
sendiri,
yaitu
sekumpulan
nilay
yang sah untuk sebuah atribut.
Contoh pada nilai atribut,
JenisKelamin hanya terdiri dari P atau L.
¾
Entity
integrity, primary key dari sebuah entry tidak boleh mengandung nilai
null, Setiap tuple harus mempunyai primary key.
¾
Referential integrity, sebuah foreign key menghubungkan setiap tuple di
dalam relasi anak
kepada
tuple
dalam relasi
induk
yang
mengandung
nilai
candidate key yang cocok.
Mandatory, null tidak diijinkan.
Optional, null diijinkan.
Contoh pada hubungan 1:* jika tuple parent dihapus maka ada beberapa stategi
yang mempengaruhi nilai child yaitu:
¾
NO ACTION, jika tuple parent dihapus maka nilai child-nya tidak terjadi apa-
apa atau tidak mengalami perubahan.
¾
CASCADE, jika tuple parent dihapus maka nilai child-nya juga ikut dihapus.
¾
SET NULL, jika tuple parent dihapus maka nilai childnya diset null.
¾
SET DEFAULT, jika tuple parent dihapus
maka
nilai child-nya ikut berubah
sesuai dengan nilai default yang sudah diatur.
¾
NO CHECK, jika tuple parent dihapus maka tidak dilakukan pengecekan pada
nilai child-nya.
|
36
2.1.6
Normalisasi
2.1.6.1 Pengertian Normalisasi
Menurut
Connoly dan Begg(
2002,p379),
normalisasi
adalah teknik
untuk
mengorganisasikan data ke dalam
tabel-tabel
untuk memenuhi kebutuhan pemakai
di dalam
sebuah
organisasi.
Tujuan
dari
normalisasi
adalah
untuk
mengurangi
redudancy (pengulangan detil dari suatu tabel pada tabel yang lain) menghilangkan
kerangkapan
data,
untuk
mengurangi kompleksitas
dan
untuk
mempermudah
memodifikasi data.
2.1.6.2 Data Redundancy and Update Anomalies
Anomali adalah efek
samping
yang
tidak
diharapkan(misalnya
menyebabkan
inconsistency
(tidak konsisten) data atau membuat suatu data menjadi hilang saat
data lain dihapus) yang muncul dlama suatu proses perancangan basis data.
Suatu tujuan relational desain database
yang
utama
adalah
menggolongka
atribut
kedalam
hubungan-hubungan untuk
memperkecil data
redudancy dan dengan
demikian
mengurangi tempat
penyimpanan
file
yang
diperlukan
oleh
hubungan-
hubungan dasar
yang diimplementasikan. Hubungan-hubungan yang memiliki data
redundant
mungkin
memiliki
masalah tersebut
disebut
update
anomalies,
yang
diklasifikasikan sebagai insertion, deletion, atau modification anomalies.
2.1.6.3 Functional Dependency
Functional Dependency
menguraikan
hubungan antara
atribut-atribut
dalam
sebuah relasi. Sebagai contoh, jika A dan B adalah atribut dari relasi R,
B
adalah
|
37
secara fungsional bergantung
kepada A(ditandai AÆ
B), jika setiap
harga
dari
A
diasosiasikan dengan tepat satu harga dari B. (A dan B masing-masing boleh dari
satu atau lebih atribut.)
2.1.6.4 Bentuk Normal
Normalisasi sering dieksekusi sebagai langkah-langkah yang berangkai/berseri.
Bentuk
normal adalah suatu aturan
yang dikenakan pada
relasi-relasi dalam basis
data dan harus dipenuhi oleh relasi-relasi tersebut pada tingkatan normalisasi.
Suatu relasi dikatakan berada dlam bentuk normal tertentu jika memenuhi kondisi-
kondisi tertentu.
Secara umum normalisasi dibagi menjadi tingkatan, yaitu:
1. Bentuk Normal Pertama( First Normal Form/1NF)
Menurut
Connolly dan Begg
(2002,p387),
Un-normalized
form(UNF)
adalah
sebuah tabel yang mengandung lebih dari satu bagian yang berulang (repeating
group).
Bentuk
normal pertama
adalah
sebuah
hubungan
dimana
irisan
(intersection) dari setiap baris dan kolom hanya mengandung satu nilai. Untuk
mengubah tabel
UNF
kedalam
bentuk
normal
pertama
(1NF)
harus
mengidentifikasikan dan
menghilangkan
bagian
yang
berulang
(Repeating
Group) pada table. Sebuah repeating group adalah sebuah atribut atau kumpulan
atribut pada sebuah table yang terdapat dari satu nilai (multituple) untuk sebuah
occurrence
tunggal dari kunci(key) atributnya
yang
ditunjuk
dala
tabel. Ada
2
pendekatan umum untuk menghilangkan repeating group pada tabel UNF,
antara lain:
|
38
a.
Pendekatan pertama,
dengan
menghilangkan
repeating
group
dengan
memasukkan
data
yang
berlebihan
ke
dalam
kolom dan
baris
kosong.
Sehingga hasil
dari
table nantinya hanya mengandung nilai
atomic
(tunggal).
b. Pendekatan
kedua,
menghilangkan
repeating
group
dengan
menempatkan
data
yang berlebihan, selanjutnya dengan meng-copy atribut kuncinya yang
asli dalam sebuah relasi yang dipisahkan.
Kedua pendekatan ini benar, tetapi pendekatan kedua awalnya menghasilkan
relasi
yang
paling
sedikit
pada
1NF dengan
mengurangi redudansi.
Jika
menggunakan pendekatan pertama relasi dari 1NF adalah buruk, selanjutnya
selama
langkah normalisasi berikutnya akan menghasilkan relasi
yang sama
yang dihasilkan oleh pendekatan kedua.
Akan
tetapi hasil dari normalisasi
bentuk
pertama
masih
bisa
menyebabkan update
anomalies,
sehingga
diperlukan
normalisasi
ketahapan selanjutnya
yang
dinamakan
bentuk
normal kedua (2NF).
2. Bentuk normal kedua (Secon Normal Form/2NF)
Menurut
Connoly dan Begg(2002,p392),
bentuk
normal kedua
adalah
berdasarkan
konsep
ketergantungan
fungsional penuh
(Full
functional
dependency).
Full
Functional
Dependency
dinyatakan dengan
jika
A dan B
adalah atribut dari suatu relasi, B adalah fungsional ketergantungan penuh (fully
functional dependency) pada A jika B adalah secara fungsional bergantung pada
A, tetapi
bukan merupakan
himpunan bagian dari A,
Jelaskan bentuk
normal
kedua adalah sebuah relasi di dalam bentuk normal pertama dan setiap atribut
|
39
yang bukan primary key (non-primary key) adalah secara fungsional tergantung
pada
primary
key.
Proses
normalisasi
dari
relasi 1NF
ke
2NF
melibatkan
penghilangan dari bagian yang ketergantungan.
3. Bentuk normal ketiga (Third Normal Form/3NF)
Menurut
Connoly dan Begg
(2002,p394),
bentuk
normal ketiga
adalah
berdasarkan pada
konsep
peralihan ketergantungan (transitive
dependency).
Transitive dependency adalah sebuah kondisi dimana A, B, dan C adalah atribut
dari sebuah relasi bahwa
jika
AÆB
dan
BÆC,
maka C
adalah secara transitif
bergantung pada
A
melewati
B
(menyatakan bahwa A tidak secara
fungsional
tergantung pada B
atau C). Pada bentuk normal
ketiga, sebuah
relasi
pada
bentuk normal pertama dan kedua dan dimana tidak ada atribut non-primary key
secara
transitif
bergantung
(transitifly dependent)
pada
orunart
jet.
Proses
normalisasi
dari
relasi
2NF
ke
3NF
melibatkan penghilangan dari
ketergantungan transitif.
Jika
sebuah ketergantungan transitif
muncul,
maka
dihilangkan
ketergantungan transitif
antara
atribunya
dengan
menempatkan
atribut
tersebut
ke
dalam relasi
baru,
selanjutnya
dengan sebuah
salinan
dari
determinannya.
4. Bentuk Boyce-Codd normal form(BCNF)
Menurut
Connoly dan
Begg
(
2002,p398),
BCNF
didasari
ketergantungan
fungsional (functional dependencies) dengan memperhitungkan semua candidat
key dalam
sebuah
hubungan,
akan
tetapi
BCNF
juga
mempunyai
batasan
tambahan dalam sebuah hubungan, akan tetapi BCNF juga mempunyai batasan
tambahan bila dibandingkan dengan 3NF. Sebuah hubungan yang ada di BCNF
|
40
jika dan
hanya jika setiap determinan adalah candidate key. Untuk
mengetahui
satus sebuah hubungan di dalam BCNF,
identifikasi terhadap determinan yang
diperlukan
dan
determinan
itu
harus
dalam
bentuk candidate
key.
Perbedaan
dari BCNF
dan 3NF
:
di dalam
BCNF
ketergantungan fungsional AÆB,
3NF
memperbolehkan ketergantungan
ini dalam
hubungan
jika
B
adalalah attribut
primary key
dan
A
bukan
candidate
key,
sedangkan
BCNF
menuntut
untuk
ketergantungan
ini tetap
dalam
hubungan,
A
harus candidate key.
Untuk
itu
BCNF lebih kuat dari 3NF, setiap hubungan dalam BCNF juga ada dalam 3NF.
Setiap
hubungan dalam
BCNF
juga
ada
dalam
3NF.
Akan tetapi,
sebuah
hubungan dalam 3 NF tidak diperlukan dalam BCNF.
5. Bentuk normal ke-empat (Fourth Normal Form/4NF)
Menurut
Connoly
dan Begg
(2002,p408),
Fourth Normal
Form(4NF)
adalah
sebuah
hubungan yang
ada
di
dalam
Boyce-Codd
normal
form
(BCNF)
dan
tidak
mengandung
nontrivial
multi-valued
dependencies.
Bentuk
4NF adalah
bentuk
normal
form
yang
lebih
kuat
dari BCNF
yang
mencegah
relation
mengandung nontrivial MVDs dan karenanya 4NF meliputi penghilangan MVD
dari
hubungan
dengan
menempatkan
attribute
dalam
sebuah
hubungan
yang
baru mendekati sebuah salinan dari determinant.
Menurut
Connoly dan
Begg(2002,p4007),
Multi-valued
dependency (MVD)
mewakili sebuah ketergantungan attribute( contoh
A,
B, dan C) dalam sebuah
hubungan, untuk setiap
nilai dari
A
ada satu kumpulan nilai untuk B dan
satu
kumpulan nilai untuk C. Tetapi kumpulan nilai untuk B dan C berdiri satu sama
lain.
|
41
2.1.7
Structured Query Language(SQL)
Menurut
Connoly dan
Begg(2002,p521),
Structured
Query Language
(SQL)
merupaka bahasa yang dipergunaan untuk database relasional yang didukung oleh
semua produk DBMS di9pasaran. SQL dikembangkan oleh IBM Research pada awal
tahun 1970-an.
Pertama kali diterapkan pada prototype computer IBM yang bernama Sistem R.
Structured
Query Language
(SQL)
adalah
suatu
bahasa
standard
untki implementasi
operasi-operasi pada sistem basis
data
model relational
Standard
ANSI-SQL92 atau
International Standart Database Structured Query Language.
SQL dapat dibagi menjadi 2 kategori:
1. DDL (Data Definition Language)
Adalah bagian dari SQL untuk mendefinisikan objek pada basis data.
Contoh:
a. Create Table
Digunakan untuk menciptakan table basis data. Table berbentuk 2 dimensi
berupa atribut atau kolom dan tuple atau baris.
Sintaks: Create Table
Nama_Table(Nama_kolom[,Nama_kolom]
[,Definisi_Primary_key][,Definisi
_Foreign_Key])
b. Alter Table
Digunakan
untuk
mengubah struktur table,
untuk
menambah kolom baru,
mengubah standar dari suatu kolom, menghapus suatu kolom.
|
42
Sintaks:
Alter Table Nama_tabel add|drop column data-type
c. Drop Table
Digunakan untuk menghapus table yang sudah ada.
Sintaks:
Drop Table Nama_tabel
2. DML(Data Modification Language)
Adalah bagian
dari SQL yang dapat digunakan untuk memanipulasi
data yang
ditampilkan dalam bentuk seperti table.
a. SELECT
Digunakan untuk mengambil tuple dan kolom dari suatu table basis data.
Sintaks:
SELECT select-list
FROM
table-list
WHERE search-condition GROUP
BY
grouping-column-list
HAVING
search-condition ORDER
BY
order-by-
column-list
b. INSERT
Digunakan untuk menyisipkan satu tuple atau record atau baris baru ke dalam
suatu table basis data.
Sintaks:
INSERT
INTO
table-name
(nama_kolom[,nama_kolom])
VALUES
(nilai_kolom[,nilai_kolom])
|
43
c. UPDATE
Digunakan untuk memperbaharui nilai dari suatu tuple dalam suatu table basis
data.
Sintaks:
UPDATE
nama_table
SET
(nama_kolom nilai_kolom [,
nama_kolom,
nilai_kolom]]) WHERE search-condition.
d. DELETE
Digunakan untuk menghapus satu atau beberapa atau semua tuple dalam suatu
basis data.
Sintaks:
DELETE select-list FROM table-name WHERE seach-condition
2.1.8
Database Security
Menurut
Connoly dan
Begg(2002,p531),
Pertimbangan penerapan
keamanan tidak
hanya
pada
data
dalam
suatu
basis
data,
pelanggaran atas
keamanan
mungkin
akan
memperngaruhi
bagian
lain
dari
sistem,
yang
dimana
mungkin akan
mempengaruhi
basis
data
itu.
Keamanan basis
data
meliputi
perangkat
keras,
perangkat
lunak,
data
dan orang. Secara
efektif
menerapkan
keamanan
basis
data
memerlukan
control yang
tepat.
Kebutuhan
ini
sering
dilalaikan atau dilewatkan di masa
lalu, kini sistem keamanan semakin dikenali
oleh organisasi. Alasan untuk perubahan ini adalah terus meningkatnya sejumlah
data penting
yang disimpan pada computer dan akan membahayakan perushaan
bila tidak disediakan sistem keamanan untuk data penting ini.
|
44
Suatu
basis
data
mempresentasikan sumber daya penting
yang
harus
dipastikan
keamanan untuk
control yang
tepat.
Kita
mempertimbangkan keamanan
basis
data dalam hubungan dengan situasi berikut:
Pencurian data
Hilangnya kerahasiaan
Hilangnya privasi
Hilangnya integritas
2.1.9
Data Flow Diagram
Menurut Whitten (2004, p334), Data Flow Diagram (DFD) is a tool that
depicts the flow of data through a sistem and the work or processing performed
by
that
sistem,
dapat
diartikan DFD
adalah
sebuah peralatan
yang
menggambarkan aliran data sampai sebuah sistem selesai dan kerja atau proses
dilakukan dalam
sistem
tersebut.
Sinonimnya
adalah bubble
chart,
transformation graph, and process model.
1. External agents
Menurut
Whitten (2004,
p334),
External
Agents
are
define
a
person,
an
organization unit, another
sistem, or
another
organization that lies
outside
the scope of the project but that interacts with the sistem being studied, dapat
diartikan sebagai
Eksternal Agen
adalah
mendefinisikan
orang, sebuah
unit
organisasi, sistem lain atau organisasi lain yang berada diluar sistem proyek
tetapi yang memperngaruhi kerja sistem.
|
![]() 45
Menurut Whitten (2004, p347) ada beberapa bentuk Eksternal Agents:
Bentuk Gane dan Sarson
External
Agent
Bentuk DeMarco/Yourdon
External
Agent
2. Process
Menurut Whitten (2004, p347), Process is work perform on, or in response,
incoming
data
flows
or
conditions,
dapat diartikan
sebagai
proses
adalah
penyelenggaraan kerja, atau jawaban, datangnya aliran data atau kondisinya.
Menurut Whitten (2004, p347), ada beberapa bentuk proses diantaranya :
Bentuk Gane dan Sarson ;digunakan dalam skripsi ini.
Process
Bentuk DeMarco/Yourdon
Proses
Bentuk SSADM / IDEFO
Proses
|
![]() 46
3. Data Stores
Data Stores is an Inventory of data , dapat diartikan sebagai Data Stores
adalah penyimpanan data.
Menurut Whitten (2004, p366), ada beberapa bentuk Data Stores
diantaranya:
Bentuk Gane da Sarson
Data Store
Bentuk DeMarco/Yourdon
Data Stores
4. Data Flow
Data Flow is represent an input of data to a process or the output of data (or
information)
from
a
process,
dapat
diartikan
sebagai Data
Flow
adalah
merepresentasikan sebuah input data ke dalam sebuah proses atau oitput dari
data ( atau informasi) dari sebuah proses.
Bentuk Data Flow:
Nama Data Flow
Jenis-Jenis DFD adalah sebagai berikut:
1. Level 0 (Diagram Context)
Level ini terdapat sebuah proses yang berada diposisi pusat.
2. Level 1 (Diagram Nol)
|
47
Level
ini
merupakan sebuah proses
yang
terdapat di
level 0
yang
dipecahkan menjadi beberapa proses lainnya.
3. Level 2 (Diagram Rinci)
Pada Level ini merupakan diagram yang merincikan diagram level 1.
Tanda * digunakan
hanya
jika proses
tersebut tidak bias
dirincikan
lagi.
Contoh :
2.0*
artinya
proses
level rendah
yang
tidak
bias
dirincikan lagi.
Penomoran yang dilakukan berdasarkan urutan proses.
2.1.10
State Transition Diagram
State
Transition
Diagram
(STD)
adalah suatu perangkat
pemodelan yang
menggambarkan sifat
ketergantungan terhadap
waktu
pada
sistem.
Menurut
Pressman (2001,
p317),
STD
digunakan
untuk
mengidentifikasikan
sebagaimana
sistem
harus
berperilaku
seperti resiko
dari kejadian
eksternal.
Untuk Mencapai hal ini STD
menampilkan berbagai jenis model perilaku dari
hasil dan tingkah laku yang
mana transisi dibuat dari satu state ke state yang
lain.
Penyajian STD
merupakan
landasan dasar
untuk
menentukan
perilaku.
Biasanya di dalam STD digunakan notasi seperti :
1. Active
State, simbolnya persegi panjang.
State
adalah kumpulan keadaan atau
atribut
yang
memberi perincian
seseorang atau benda paa
waktu dan kondisi
tertentu. Contohnya
|
![]() 48
seperti:
proses
user
mengisi password,
menentukan
instruksi
berikutnya.
Simbol State :
Trasnsition state / perubahan state, simbolnya tanda panah berarah.
Simbol transition state :
Condition
Kejadian
pada
lingkungan
eksternal
yang
bisa
terdeteksi oleh
sistem.
Hal
ini akan
mengakibatkan perubahan
terhadapa
state
dari keadaan
state menunggu
X
ke
state menunggu
Y. Contohnya seperti
interrupt
signal maupun data
Action
Action
adalah
hal
yang dilakukan
sistem
apabila
ada perubahan state
atau merupakan reaksi terhadapa kondisi. Action menghasilkan
keluaran dari tampilan pesan, cetakan atau alat output lainnya.
2. Passive
Sistem ini tidak
melakukan kontrol terhadap
lingkungan, akan tetapi lebih
bersifat
menerima
data
atau
memberi reaksi saja(
sistem
yang
menerima
atau mengumpulkan data dari signal yang dikirim oleh satelit).
|
![]() 49
Berikut adalah gambar STD yang sederhana :
State X
Condit io n
Action
State Y
2.2 Teori-teori Khusus
2.2.1
Teori Penjualan
Secara umum, pengertian penjualan dapat dikatakan sebagi ilmu
mempengaruhi
pribadi yang dilakukan oleh penjual untuk mengajak orang lain membeli barang
atau jasa
yang ditawarkan.
Jadi
adanya
penjualan dapat
tercipta
suatu
proses
pertukaran barang atau jasa antara penjual dan pembeli.
Penjualan dapat dibagi menjadi dua jenis,yaitu:
1. Penjualan Kredit
Jika
order
pelanggan telah dipenuhi
dengan
dikirimnya
barang
atau
penyerahan
jasa,
untuk
jangka waktu
tertentu perusahaan
mempunyai
piutang terhadap pelanggan.
2. Penjualan Tunai
Kegiatan
yang
dilaksanakan oleh perusahaan
dengan cara
mewajibkan
pembeli
melakukan pembayaran
harga
barang
terlebih
dahulu
sebelum
barang diserahkan oleh perusahaan kepada pembeli. Setelah
uang diterima
|
50
oleh perusahaan, barang kemudian diserahkan kepada pembeli dan transaksi
penjualan dicatat.
2.2.2
Teori Persediaan
2.2.2.1 Pengertian Persediaan
Menurut Freddy Rangkuti (1998,h1),persediaan adalah sebuah aktiva yang
meliputi barang-barang milik perusahaan dengan maksud untuk dijual
dalam
satu
periode
waktu tertentu
atau
persediaan-persediaan
barang-
barang
yang
masih dalam pengerjaan/proses
atau
persediaan
bahan
baku
yang menunggu pengunaanya dalam suatu proses produksi.
Menurut
Render,
Heizer
yang diterjemahkan oleh Kresnohadi
Ariyoto(2001,p.314), persediaan
merupakan salah satu
asset
yang paling
mahal
di
banyak
perusahaan,
mencerminkan
40%
dari total
model
yang
diinvestasikan.
Menurut Mulyadi (2001,p.553), dalam perushaan dagang, persediaan hanya
terdiri dari 1 golongan, yaitu persediaan barang dagangan, yang merupakan
barang yang dibeli dengan tujuan dijual kembali.
Dari definisi diatas dapat disimpulkan bahwa persediaan merupakan bahan-
bahan yang disediakan untuk proses produksi atau untuk dijual kembali.
2.2.2.2
Fungsi Persediaan
Menurut Render,Heizer yang diterjemahkan oleh Kresnohadi Ariyoto
(2001,p.314), fungsi dari persediaan adalah sebagai berikut:
|
51
1.
Untuk
memberikan suatu stok barang barang agar dapat
memenuhi
permintaan yang diantisipasikan akan timbul dari konsumen.
2. Untuk mengambil keuntungan dari potongan jumlah.
3. Untuk melakukan hedging terhadap inflasi dan perubahan harga.
4.
Untuk
menghindari dari kekurangan stok
yang
dapat
terjadi
karena
cuaca, kekurangan pasokan, masalah mutu, atau pengiriman yang tidak
tepat.
5.
Untuk
menjaga
agar
operasi dapat berlangsung
dengan
baik
dengan
menggunakan barang dalam proses dalam persediaannya.
2.3
Penjualan, Pembelian, dan Persediaan
2.3.1 Pengertian Penjualan
Menurut Mulyadi (2001, h204), kegiatan penjualan terdiri dari transaksi penjualan
barang atau jasa, bisa secara kredit atau tunai.
Dari pengertian diatas dapat
disimpulkan bahwa penjualan adalah suatu aktivitas
perusahaan yang
utama dalam
memperoleh pendapatan, baik
untuk perusahaan besar
maupun perusahaan kecil. Penjualan merupakan sasaran akhir dari kegiatan pemasaran.
Pada bagian ini terjadi penetapan harga melalui perundingan dan perjanjian serah
terima
barang,
cara
pembayaran
yang
disepakati
oleh
kedua
belah pihak,
sehingga
tercapai suatu titik kepuasan.
|
52
Fungsi yang terkait dengan sistem penjualan adalah:
1. Fungsi Penjualan
Bertanggung jawab untuk menerima order, mengedit order, meminta otorisasi
kredit, menentukan tanggal pengiriman dan transaksi penjualan.
2. Fungsi Kredit
Bertanggung jawab
untuk meneliti
status
kredit dan memberikan
otorisasi
kredit kepada pelanggan.
3. Fungsi Gudang
Bertanggung jawab untuk menyimpan dan menyiapkan barang
yang dipesan,
dan mengirimkannya ke bagian pengiriman.
4. Fungsi Pengiriman
Bertanggung jawab untuk menyerahkan barang ke pelanggan berdasarkan
surat order pengiriman yang diterima dari bagian penjualan.
5. Fungsi penagihan
Bertanggung
jawab
untuk
melakukan pencatatan atas
transaksi
yang
timbul
dari kegiatan penjualan.
6. Fungsi Akuntansi
Bertanggung
jawab
untuk
mencatat piutang
yang timbul dari transaksi
penjualan kredit dan membuat laporan penjualan.
|
53
Sistem informasi penjualan
membentuk
prosedur-prosedur
yang
bekerja
satu
dengan yang lainnya untuk mencapai tujuan. Prosedur-prosedur yang membentuk
system informasi penjualan adalah:
1. Prosedur Order Penjualan
Dalam prosedur ini bagian order penjualan menerima order dari pembeli dan
menambah
informasi penting
pada
surat
order.
Bagian
ini kemudian
mengirimkan kepada bagian kredit
untuk
meminta persetujuan kredit. Setelah
disetujui,
bagian penjualan
mengisi
faktur
penjualan dan surat
order
pengiriman ke bagian yang terkait.
2. Prosedur Persetujuan Kredit
Bagian kredit
mengalisis
kredit
yang
diajukan
oleh pelanggan kemudian
memberikan persetujuan atau membatalkan penjualan kredit yang diajukan.
3. Prosedur pengiriman
Bagian pengiriman mengirimkan barang kepada pembeli sesuai dengan surat
order pengiriman ang diterima dari bagian order penjualan.
4. Prosedur Penagihan
Bagian ini membuat surat penagihan dan melampirkan faktur penjualan untuk
dikirimkan kepada pembeli.
5. Prosedur Pencatatan Piutang
Bagian piutang
mencatat tembusan faktur penjualan ke dalam kartu
piutang
untuk mengadakan pengakuan piutang.
|
54
6. Prosedur Distribusi Penjualan
Bagian
ini
mendistribusikan data-data
penjualan
menurut
informasi
yang
diperlukan manajemen.
7. Prosedur Pencatatan Harga Pokok Penjualan
Dalam prosedur
ini bagian kartu persediaan dan kartu biaya
membuat rekap
harga
pokok penjualan
dan
bukti
memorial
sebagai dasar bagi bagian
akuntansi untuk melakukan pencatatan harga pokok produk yang dijual.
2.3.2 Pengertian Pembelian
Menurut Render(2001, h414), pembelian adalah perolehan barang dan jasa.
Secara umum definisi pembelian adalah suatu usaha pengadaan barang atau jasa
dengan
tujuan
yang akan digunakan sendiri,
untuk kepentingan proses produksi
maupun untuk dijual kembali.
Tujuan pembelian menurut Render (2001, h414), tujuan dari kegiatan pembelian
adalah:
Membantu identifikasi produk dan jasa yang dapat diperoleh secara eksternal.
Mengembangkan, mengevaluasi, dan menentukan pemasok, harga dan
pengiriman yang terbaik bagi barang dan jasa tersebut.
Jenis transaksi dalam pembelian dibedakan menjadi dua, yaitu:
a. Pembelian tunai adalah proses pembayaran
yang dilakukan secara
langsung
pada saat barang diterima.
|
55
b. Pembelian kredit adalah proses
pembayaran
yang
tidak dilakukan
langusng
pada saat barang diterima, tetapi pembayaran dilakukan selang beberapa
waktu setelah barang diterima sesuai dengan perjanjian kedua belah pihak.
Hal-hal yang harus diperhatikan dalam proses pembelian adalah:
Kualitas
Harga
Waktu Proses
|