bab 2 landasan teori

advertisement
BAB 2
LANDASAN TEORI
2.1
Teori –Teori Dasar
Pada penyusunan skripsi ini penulis menggunakan berbagai teori-teori
yang ada. Teori yang diambil antara lain:
2.1.1
Pengertian Basis Data
Basis Data adalah sekumpulan koleksi data dengan format
standar dan didesain untuk digunakan oleh banyak pengguna(Gerald
V Post 2002, p4).
Basis data adalah koleksi data yang terhubungan dengan data
lainnya secara logis dan memiliki deskripsi untuk data tersebut dan
didesain
untuk
mengolah
informasi
yang
dibutuhkan
oleh
organisasi(Connoly and Begg.2005, p15).
Jadi dapat disimpulkan bahwa basis data adalah serangkaian
data yang terhubung dengan data lain dan didesain untuk mengolah
informasi yang dapat digunakan oleh banyak pengguna serta bertujuan
untuk mengolah informasi yang berguna untuk pengambilan
keputusan perusahaan.
2.1.2
Pengertian Sistem Basis Data
Sistem basis data adalah komputerisasi sistem penyimpanan
data yang bertujuan untuk menyimpan, memelihara data, dan
mengijinkan penggunanya untuk mengubah dan mengambil data yang
diperlukan(Date,2000,p5).
8 9 Tujuannya adalah agar dapat mempermudah dan mempercepat
pengguna dalam proses pengambilan dan melakukan perubahan yang
ada.
2.1.3
Pengertian File Based System
File-Based system adalah koleksi dari program aplikasi yang
menunjukkan pelayanan yang didapat oleh pengguna akhir, seperti
laporan produksi. Setiap program yang ada mendeskripsikan dan
mengatur data masing-masing(Connoly, 2005,p7).
Jadi File-based system adalah sekumpulan pelayanan yang
dapat digunakan oleh pengguna dalam mencari, mendeskripsi, dan
mengatur data yang tersedia.
2.1.4
DBMS(Database Management System)
Sistem Manajemen Basis Data adalah sebuah software yang
dirancang untuk sebuah basis data untuk menyimpan data, mendukung
query
language,
membuat
laporan,
dan
membuat
data
masukan(Gerald V Post 2002, p2).
Sistem Manajemen Basis Data adalah sebuah software yang
didesain untuk membantu memelihara dan memanfaatkan sejumlah
koleksi data dan memerlukan sejumlah sistem untuk membangun
dengan lebih cepat (Khrisnan Gerkhee 2000,p4 ).
Menurut Connoly dan Begg, DBMS adalah sebuah software
yang memungkinkan pengguna untuk mendefinisikan, membuat,
memelihara, dan mengontrol akses ke dalam basis data.
10 DBMS menyediakan fasilitas sebagai berikut:
1.
DDL(Data Definition Language)
DDL
merupakan
DBA(Database
bahasa
Administrator)
yang
atau
mengizinkan
pengguna
untuk
mendeskripsikan dan memberi nama pada entitas, atribut, dan
relasi data yang dibutuhkan dalam aplikasi serta integritas dan
batasan keamanan datanya(Connoly Begg, 2005, p40).
DDL digunakan untuk mendefinisikan sebuah skema
atau untuk memodifikasi data serta tidak dapat digunakan
untuk memanipulasi data. DDL juga memungkinkan pengguna
untuk menentukan jenis tipe data yang disimpan dalam basis
data.
Operasi yang disediakan antara lain:
a.
Create Table, digunakan untuk membuat tabel dengan
mengidentifikasikan tipe data untuk setiap kolom.
b.
Alter
Table,
digunakan
untuk
menambah
atau
membuang
atau
membuang kolom dari constrain.
c.
Drop
Table,
digunakan
untuk
menghapus tabel beserta semua data yang terkait di
dalamnya.
d.
Create Index, digunakan untuk membuat index pada
suatu tabel.
e.
Drop
Index,
digunakan
untuk
membuang
menghapus index yang telah dibuat sebelumnya.
atau
11 2.
DML(Data Manipulation Language)
DML
merupakan
bahasa
yang
menyediakan
serangkaian operasi yang mendukung manipulasi data dasar
dalam basis data (Connoly Begg,2005, p40).
Operasi manipulasi data yang ada, antara lain:
a.
Insert, digunakan untuk memasukkan satu atau
beberapa data baru ke dalam tabel suatu basis data.
b.
Update, digunakan untuk mengubah satu atau lebih
atribut ke dalam suatu tabel.
c.
Delete, untuk menghapus sebagian atau seluruh isi
tabel yang ada.
d.
Select, untuk menampilkan sebagian atau seluruh isi
tabel dan mampu melakukan kombinasi dengan tabel
lain sesuai dengan kebutuhan.
3.
Kontrol akses ke basis data
Kontrol akses yang disediakan ke dalam basis data, antara lain:
a.
Security system, dimana dapat membatasi pengguna yang
tidak berhak untuk mengakses basis data.
b.
Integrity system, untuk memelihara konsistensi data yang
tersimpan.
c.
Concurrency control system, untuk mengatur pembagian
dalam penggunaan akses bersama dalam basis data.
12 d.
Recovery control system, untuk melakukan panggilan
kembali menjadi basis data semula ketika terjadi
kesalahan pada hardware atau software.
e.
User-accesible
catalog,
berfungsi
untuk
mendeskripsikan data pada basis data.
2.1.5
Komponen-komponen DBMS
Terdapat 5 komponen utama dalam DBMS, antara lain:
a.
Hardware (Perangkat Keras)
DBMS memerlukan hardware untuk dijalankan.
Perangkat keras yang digunakan mulai dari single personal
computer,
single
mainframe
hingga
network
computer
tergantung dari kebutuhan perusahaan dan DBMS yang
digunakan. Sebuah DBMS memiliki kebutuhan minimum dari
memori dan ruang penyimpanan yang dibutuhkan namun tidak
dianjurkan untuk mencapai performa yang lebih baik.
b.
Software (Perangkat Lunak)
Komponen software terdiri dari software DBMS itu
sendiri dan aplikasi program yang digunakan bersamaan untuk
menjalankan sistem. Termasuk di dalamnya software network
yang digunakan dalam DBMS apabila melalui suatu jaringan.
c.
Data
Komponen yang terpenting dalam suatu DBMS dari
sudut pandang pengguna akhir adalah data. Data merupakan
13 jembatan
penghubung
antara
komponen
mesin
dengan
komponen manusia.
d.
Procedures (Prosedur)
Prosedur mengacu pada instruksi dan peraturan yang
mengatur perancangan dan penggunaan basis data. Pengguna
sistem dan karyawan yang mengatur basis data memerlukan
prosedur
yang
terdokumentasi
mengenai
bagaimana
menjalankan sistem. Itu semua berisikan bagaimana cara untuk:
a.
Masuk ke dalam DBMS.
b.
Menggunakan bagian dari DBMS atau aplikasi program.
c.
Menjalankan dan memberhentikan DBMS.
d.
Membuat duplikat basis data.
e.
Menangani kegagalan perangkat keras atau lunak. Ini
termasuk
prosedur
komponen yang gagal,
komponen
yang
bagaimana
mengidentifikasi
bagaimana
rusak,
dan
mengikuti
membetulkan
petunjuk
pembetulan untuk melindungi basis data.
f.
Merubah tabel dari struktur data, menata kembali basis
data, meningkatkan performa, dan menyimpan data di
tempat penyimpanan cadangan.
e.
People (Pengguna)
Komponen terakhir adalah orang yang menjalankan
sistem. Terdapat 4 tipe orang yang menggunakan DBMS, yaitu
14 Data and Database Administrator(DBA), Database Designer,
Application Developer dan End User.
2.1.6 Keuntungan dan Kerugian DBMS
DBMS memiliki beberapa keuntungan dan kerugian.
Keuntungan
1.
Mengontrol data yang berulang
Basis data tradisional membuang banyak ruang dengan
adanya duplikasi data yang sama di beberapa tempat. Sebaliknya
basis data berusaha mengurangi perulangan dengan menyatukan
file-file, sehingga tidak terjadi duplikasi. Sistem basis data tidak
menghapus perulangan secara keseluruhan tetapi kontrol
terhadap perulangan yang di dalam basis data. Terkadang
perulangan diperlukan untuk menduplikasi entitas yang ada
sehingga membentuk tabel relasionalnya. Di lain waktu,
diperlukan juga penduplikasian enitas untuk peningkatan
performa. Alasan melakukan pengontrolan duplikasi ini adalah
agar kita dapat mengetahui dengan jelas bagian selanjutnya.
2.
Konsistensi data
Dengan menghapuskan dan mengontrol perulangan,
kita dapat meminimalkan resiko akan ketergantungan data.
Apabila entitas hanya disimpan sekali dalam basis data, maka
apabila ada update yang dilakukan, maka update hanya
dilakukan sekali dan digunakan oleh semua pengguna. Apabila
15 data entitas disimpan lebih dari sekali, maka sistem dapat
memastikan semua data yang ada akan tetap konsisten.
Sayangnya, kebanyakan dari DBMS sekarang ini tidak dapat
memastikan konsistensi data secara otomatis.
3.
Lebih banyak informasi dari jumlah data yang sama
Dengan
memungkinkan
penyatuan
organisasi
dari
untuk
data-data
memasukkan
operasional
informasi
tambahan dari data yang sama. Kita bisa mengambil lebih
banyak informasi dari data yang sama, sehingga penyimpanan
data yang ada dapat dimaksimalkan penggunaannya.
4.
Pembagian Data
Biasanya file dimiliki oleh pengguna file tersebut, di
sisi lain sistem basis data dimiliki oleh seluruh organisasi dan
bisa digunakan oleh semua pengguna yang berkepentingan.
Dengan cara ini, semakin banyak pengguna yang dapat saling
berbagi data. Lebih jauh lagi, aplikasi baru dapat dibangun pada
data yang sudah ada dalam basis data dan menambahkan data
yang tidak ada daripada harus mendefinisikan semua data-data
yang ada lagi. Aplikasi-aplikasi yang baru juga dapat
menggunakan fungsi-fungsi yang disediakan oleh DBMS,
seperti definisi dan manipulasi data daripada harus menyediakan
fungsi-fungsi ini sendiri.
16 5.
Peningkatan integritas data
Integritas sistem basis data mengacu pada validasi dan
konsistensi dari data yang tersimpan. Integrasi biasanya disebut
juga
constraint,
yang
merupakan
peraturan-peraturan
konsistensi bahwa sistem basis data tidak diijinkan untuk hal-hal
tertentu. Constraint dapat diaplikasikan untuk entitas yang
memiliki laporan tunggal atau bisa juga diaplikasikan pada
hubungan antara beberapa penyimpanan data. Sebagai contoh,
constraint integritas bisa menyatakan bahwa upah dari anggota
staff tidak lebih dari 1.000.000 atau KdCabangnya tersimpan
dalam data staff yang mewakili cabang dari staff tersebut
bekerja, harus mengkorespon dengan kantor cabang yang ada.
Integrasi memungkinkan DBA untuk mendefinisikan dan
DBMS untuk melakukan constraint integritas.
6.
Peningkatan Keamanan
Keamanan sistem basis data adalah perlindungan
sistem basis data dari pengguna yang tidak memiliki ijin. Tanpa
pengamanan yang tepat, integrasi dapat membuat data menjadi
lebih rapuh daripada file-based system. Sehingga
DBA
digunakan untuk mendefinisikan dan DBMS untuk melakukan
pengamanan sistem basis data. Hal ini memerlukan nama user
dan password untuk mendefinisikan orang yang memiliki ijin
untuk menggunakan sistem basis data tersebut. Akses data yang
diperbolehkan untuk pengguna yang memiliki ijin mungkin
diperketat dengan tipe operasi(insert, update dan delete).
17 Sebagai contoh, DBA memiliki akses di semua basis data;
Seorang manager cabang memiliki akses ke semua data yang
berhubungan dengan kantor cabangnya dan seorang asisten
penjualan memiliki akses ke semua data yang berhubungan
dengan properti, tetapi tidak memiliki akses ke data-data pribadi
seperti upah staff.
7.
Enforcement of standards
Integrasi memungkinkan DBA untuk mendefinisikan
standar-standar yang penting. Hal ini mencakup bagian-bagian
departemen dan organisasi, nasional atau standar-standar
internasional
untuk
hal-hal
seperti
format
data
untuk
memfasilitasi pergantian data di antara sistem-sistem, konvensikonvensi, standar-standar dokumentasi, update prosedur, dan
peraturan-peraturan akses.
8.
Skala Ekonomi
Mengkombinasikan seluruh data-data operasional ke
dalam satu basis data dan menciptakan suatu set aplikasi yang
bekerja dalam sebuah sumber data, dapat berujung pada harga
yang tinggi. Dalam kasus ini, budget yang dialokasi ke setiap
departemen untuk pengembangan dan maintenance dari sistem
file-based-nya bisa dikombinasikan, mungkin menghasilkan
harga yang lebih rendah. Budget yang dikombinasikan dapat
digunakan untuk membeli sebuah sistem konfigurasi yang lebih
tepat untuk kebutuhan organisasi. Hal ini mungkin mencakup
18 sebuah komputer atau jaringan dari komputer-komputer yang
lebih kecil dan kuat.
9.
Keseimbangan dari syarat-syarat yang bertentangan
Masing-masing pengguna atau departemen memiliki
kebutuhan yang mungkin bertentangan dengan kebutuhan
pengguna yang lain. Sejak basis data berada di bawah kontrol
DBA, DBA dapat membuat keputusan tentang desain dan
kegunaan operasional dari basis data yang menyediakan
penggunaan
terbaik
dari
sumber-sumber
untuk
sebuah
organisasi sebagai suatu kesatuan. Keputusan ini akan
menyediakan performa optimal untuk aplikasi-aplikasi yang
penting.
10.
Peningkatan respons dan aksesibilitas data
Sebagai hasil dari integrasi, data yang melalui batasanbatasan departemen dapat diakses secara langsung oleh
pengguna. Hal ini menyediakan sistem yang memiliki fungsifungsi yang dapat digunakan untuk menyediakan pelayanan
yang lebih baik untuk pengguna atau klien organisasi. Banyak
DBMS menyediakan bahasa-bahasa atau penulisan laporan yang
memungkinkan pengguna untuk melemparkan pertanyaan ad
hoc dan mendapatkan informasi secepat mungkin tanpa
membutuhkan seorang programmer yang menulis software
untuk mengambil informasi ini dari basis data. Sebagai contoh,
seorang manager cabang dapat mendata semua apartemen
19 dengan sewa bulanan lebih dari satu juta rupiah dengan
memasukkan perintah-perintah SQL.
11.
Peningkatan Produktivitas
Telah disebutkan sebelumnya, DBMS menyediakan
banyak fungsi standar yang digunakan oleh banyak programmer
yang biasanya digunakan untuk menulis dalam file-based
application. Pada level standar, DBMS menyediakan semua
rutinitas penanganan file low-level yang biasanya terdapat pada
program
aplikasi.
Penyediaan
dari
fungsi-fungsi
ini
memungkinkan programmer untuk berkonsentrasi pada fungsi
spesifik
yang
dibutuhkan
oleh
pengguna
tanpa
harus
mengkhawatirkan implementasi low-level. Banyak DBMS juga
menyediakan generasi ke-4, yang menyediakan alat-alat untuk
mempermudah pembuatan aplikasi basis data. Hasil ini akan
meningkatkan produktivitas programmer dan mengurangi waktu
pembangunan.
12.
Meningkatkan Perawatan dengan data independen.
Dalam file-based system, deskripsi dari data dan logika
untuk mengakses data dibuat dalam setiap aplikasi program
membuat program tergantung pada data. Sebagai contoh
perubahan dalam struktur data, membuat alamat 41 karakter
menjadi 40 karakter, atau merubah penyimpanan data dalam
disk, dapat membutuhkan perubahan
yang substansial pada
program yang dipengaruhi oleh perubahan ini. Sebaliknya,
DBMS memisahkan deskripsi data dari aplikasi, membuat
20 aplikasi kebal terhadap perubahan dalam deskripsi data. Hal ini
diketahui sebagai independensi data. Penyediaan independensi
data menyederhanakan perawatan aplikasi basis data.
13.
Increased Concurrency
Di beberapa file-based system, apabila dua atau lebih
pengguna diperbolehkan untuk mengakses file yang sama secara
bersamaan, hal ini mungkin bahwa pengaksesan saling
mencampuri satu sama lain, yang berujung pada hilangnya
informasi atau bahkan hilangnya integritas. Banyak DBMS
mengatur akses concurrency sistem basis data dan memastikan
permasalahan-permasalahan yang tidak dapat terselesaikan.
14.
Meningkatkan servis untuk cadangan dan pemulihan data
Banyak sistem file menaruh tanggung jawab kepada
pengguna untuk mengukur proteksi data dari kegagalan sistem
komputer atau aplikasi program. Ini memerlukan data cadangan.
Apabila terjadi kegagalan keesokan harinya, data cadangan akan
melakukan pemulihan data dan pekerjaan yang telah dilakukan
akan hilang dan data akan kembali ke data hari sebelumnya dan
harus dimasukkan kembali. Sebaliknya, DBMS modern
menyediakan fasilitas untuk meminimalisasikan jumlah proses
yang hilang.
21 Kerugian DBMS
1.
Kompleksitas
Dengan berbagai fungsi yang kita harapkan dari sebuah
DBMS yang baik, DBMS menjadi sebuah bagian yang sangat
kompleks dari sebuah perangkat lunak. Perancang dan
pembangun sistem basis data, data dan administrator basis data,
dan pengguna aplikasi ini harus mengerti fungsi yang ada untuk
membuat keuntungan yang bisa dicapai menjadi maksimal.
Kegagalan dalam mengerti sistem
dapat berakibat pada
pengambilan keputusan yang salah, dimana dapat membuat
kesalahan yang fatal untuk organisasi.
2.
Ukuran
Kompleksitas dari fungsi yang ada membuat DBMS
menjadi software yang besar, yang memerlukan kapasitas yang
besar dan memerlukan memori yang cukup besar untuk
dijalankan secara efektif.
3.
Biaya untuk DBMS
Biaya untuk DBMS sangat bervariasi tergantung dari
fungsi-fungsi yang disediakan. Biaya ini juga tidak termasuk
biaya perawatan yang harus dikeluarkan.
4.
Biaya untuk perangkat keras tambahan
DBMS memerlukan kapasitas penyimpanan yang besar
dan data yang tersimpan di dalamnya juga memerlukan ruang
penyimpanan
tambahan.
Lebih
jauh,
untuk
mendukung
performa yang maksimal, komputer juga memerlukan mesin
22 yang lebih besar. Maka ini juga merupakan biaya tambahan
yang harus dipertimbangkan.
5.
Biaya konversi
Di beberapa situasi, biaya untuk DBMS dan perangkat
keras tambahan juga harus dibandingkan dengan biaya untuk
konversi aplikasi untuk menjalankan DBMS dan perangkat
keras yang baru. Biaya ini juga termasuk biaya pelatihan
karyawan yang menggunakan sistem ini dan sebaiknya
karyawan juga merupakan tenaga ahli untuk membantu konversi
dan menjalankan sistem. Biaya ini juga merupakan masalah
utama perusahaan, sehingga perusahaan tetap menggunakan
sistem yang lama dan tidak berpindah ke teknologi yang lebih
baru.
23 2.1.7 Siklus Hidup Aplikasi Basis Data
Database planning System definition Requirements collection and analysis Conceptual database design DBMS selection (optional) Application design Logical database design Physical database design Implementation
Prototyping (optional) Data conversion and loading Testing Gambar 2.1 (Siklus Hidup Basis Data)
24 Tahapan-tahapan siklus perkembangan sistem basis data:
1.
Database planning: merencanakan bagaimana tahapantahapan dalam siklus tersebut dapat berjalan dengan efisien
dan efektif.
2.
System definition: menspesifikasikan cakupan dan batasan
dari sistem basis data, termasuk pandangan umum
pengguna, pengguna, dan area aplikasi.
3.
Requirement collection and analysis: kumpulan dan analisis
dari kebutuhan-kebutuhan untuk sistem basis data yang
baru.
4.
Database design: Desain yang konseptual, logis, dan fisik
dari basis data.
5.
DBMS selection (optional): memilih DBMS yang cocok
untuk sistem basis data.
6.
Application design: mendesain interface pengguna dan
program-program
aplikasi
yang
menggunakan
dan
memproses basis data.
7.
Prototyping (optional): membangun model dari sistem basis
data yang memugkinkan perancang atau pengguna untuk
memvisualisasikan dan mengevaluasi bagaimana sistem
akhir akan berfungsi.
8.
Implementation: menciptakan definisi-definisi basis data
dan program-program aplikasi.
9.
Data conversion and loading: loading data dari sistem yang
terdahulu ke sistem yang baru dan apabila mungkin,
25 mengubah aplikasi-aplikasi yang ada agar dapat berfungsi
di basis data yang baru.
10. Testing: Sistem basis data dites, apabila ada kesalahan atau
apakah sudah memenuhi syarat-syarat yang dispesifikasi
oleh pengguna.
11. Operational maintenance: Sistem basis data ditanamkan
sepenuhnya. Sistem ini dimonitor dan dipertahankan secara
berkelangsungan. Apabila mungkin kebutuhan-kebutuhan
baru dihubungkan ke dalam sistem basis data melalui
tahapan-tahapan siklus.
2.1.7.1 DATABASE PLANNING
Perencanaan
basis
data:
kegiatan-kegiatan
terencana yang memungkinkan tahapan-tahapan siklus
dalam perkembangan sistem basis data direalisasikan
secara efisien dan efektif.
Perencanaan basis data harus disatukan dengan
keseluruhan strategi IS organisasi. Ada 3 hal utama
yang tercakup dalam memformulasikan strategi IS,
yaitu:
•
Identifikasi rencana-rencana dan tujuan-tujuan
dengan sistem informasi yang dibutuhkan.
26 •
Evaluasi
sistem-sistem
informasi
untuk
menentukan kekuatan-kekuatan dan kelemahankelemahan yang ada.
•
Penghargaan terhadap kesempatan-kesempatan IT
yang mungkin menghasilkan keuntungan yang
kompetitif.
Langkah
penting
yang
pertama
dalam
perencanaan basis data adalah untuk mendefinisikan
pernyataan misi untuk sistem basis data. Pernyataan misi
mengemukakan tujuan-tujuan utama dari sistem basis
data. Direktur atau pemilik yang biasanya menentukan
proyek basis data dalam sebuah organisasi biasanya
mendefinisikan sebuah pernyataan misi. Peryataan misi
membantu untuk menjelaskan alasan-alasan dari sistem
basis data dan menyediakan jalan untuk menciptakan
sistem basis data yang efisien dan efektif. Setelah
pernyataan misi telah dibuat, maka langkah selanjutnya
yaitu, mengidentifikasikan tujuan-tujuan dari misi. Setiap
tujuan tersebut
harus mengidentifikasi tugas tertentu
yang harus didukung oleh sistem basis data.
Apabila sistem basis data mendukung tujuan
dari misi, maka pernyataan misi akan bertemu.
Pernyataan dan tujuan misi harus disertai dengan
informasi tambahan
yang menspesifikasi tugas-tugas
27 harus dikerjakan, sumber-sumbernya, dan uang untuk
membayar itu semua.
Perencanaan basis data juga harus mencakup
perkembangan standar-standar yang memerintahkan
bagaimana data akan dikumpulkan, bagaimana format
harus dispesifikasikan, dokumentasi penting apakah yang
diperlukan, dan bagaimana harus memproses desain dan
implementasi. Standar-standar bisa sangat memakan
waktu untuk mengembangkan dan menjaga sumbersumber yang dibutuhkan. Namun demikian, standar yang
didesain dengan baik, menyediakan dasar-dasar untuk
staff yang dilatih dan mengukur kualitas dari kontrol, dan
dapat memastikan kerja sesuai dengan pola. Sebagai
contoh,
peraturan-peraturan
tertentu
dapat
memerintahkan ketergantungan dan ketidakkonsistenan.
Kebutuhan-kebutuhan yang legal yang menyangkut data
harus didokumentasikan.
2.1.7.2 SYSTEM DEFINITION
Definisi
sistem bertujuan
menggambarkan
cakupan-cakupan dan batasan-batasan dari aplikasi
basis data dan pandangan utama dari pengguna.
Sebelum mencoba untuk mendesain sistem
basis data, sangat penting untuk kita mengidentifikasi
28 terlebih dahulu batasan-batasan sistem
yang kita
investigasi dan bagaimana hal itu berhubungan dengan
bagian-bagian lain dalam sistem informasi organisasi.
Kita juga harus memasukkan ke dalam batasanbatasan sistem kita, tidak hanya pengguna-pengguna
sekarang dan area aplikasi, namun juga penggunapengguna dan aplikasi-aplikasi yang akan datang.
2.1.7.3 REQUIREMENTS COLLECTION and ANALYSIS
Koleksi persyaratan dan analisis: merupakan
sebuah
proses
mengumpulkan
dan
menganalisis
informasi tentang bagian dari organisasi yang akan
didukung oleh sistem basis data, dan menggunakan
informasi
ini
untuk
mengidentifikasi
kebutuhan-
kebutuhan untuk sistem yang baru.
Ada
banyak
teknik
untuk
mengumpulkan
informasi ini, yang disebut “teknik mengumpulkan
fakta”. Informasi dikumpulkan untuk setiap pandangan
utama pengguna, yang meliputi:
•
Deskripsi dari data yang digunakan
•
Detail-detail bagaimana data digunakan
•
Kebutuhan-kebutuhan tambahan untuk sistem basis
data yang baru
29 Informasi
ini
mengidentifikasikan
kemudian
dianalisis
untuk
kebutuhan-kebutuhan
untuk
dimasukkan ke dalam sistem basis data yang baru.
Kebutuhan-kebutuhan ini dijelaskan dalam dokumen
yang menunjuk kepada
spesifikasi kebutuhan
untuk
sistem basis data yang baru.
Kumpulan-kumpulan kebutuhan
dan analisis
adalah langkah awal dari desain basis data. Jumlah data
yang dikumpulkan tergantung dari permasalahan dan
peraturan-peraturan perusahaan.
Informasi yang dikumpulkan pada tahap ini,
mungkin
terstruktur
secara
lemah
dan
meliputi
permintaan-permintaan yang informal, yang harus
diubah ke dalam bentuk pernyataan yang lebih
terstruktur. Hal ini dicapai dengan menggunakan teknikteknik spesifikasi kebutuhan, yang meliputi SAD, DFD,
dan HIPO.
Mengidentifikasi fungsionalitas yang diperlukan
untuk sistem basis data adalah kegiatan yang berbahaya,
sistem-sistem dengan fungsionalitas yang tidak utuh dan
tidak memadai akan mengganggu pengguna, dan
akhirnya berujung pada penolakan sistem. Kegiatan lain
yang penting pada tahap ini, yaitu memutuskan
bagaimana menyikapi situasi ketika ada lebih dari satu
30 pandangan pengguna dalam sistem basis data. Ada 3
pendekatan utama untuk mengatur kebutuhan-kebutuhan
dari sistem basis data dengan banyak pandangan
pengguna:
•
Dengan pendekatan pemusatan
•
Dengan pendekatan penyatuan pandangan
•
Kombinasi dari keduanya
2.1.7.4 DATABASE DESIGN
Desain basis data: merupakan sebuah proses
menciptakan sebuah desain yang akan mendukung
pernyataan dan tujuan misi perusahaan untuk sistem
basis data yang dibutuhkan.
Ada 2 pendekatan utama dalam desain basis
data yaitu “bawah-atas” dan “atas-bawah”. Pendekatan
“bawah atas” dimulai dengan level dasar dari atribut,
yang
melalui
analisis,
dikelompokkan
menjadi
hubungan-hubungan yang mewakili tipe tupe dari
keberadaan dan hubungan-hubungannya. Pendekatan ini
cocok untuk desain basis data yang sederhana dengan
jumlah atribut yang kecil. Namun demikian, pendekatan
ini menjadi sulit ketika diaplikasikan ke dalam desain
basis data yang lebih kompleks dengan jumlah atribut
31 yang lebih besar, dimana sulit untuk membangun
ketergantungan fungsional di antara atribut-atribut yang
ada. Sebagai model data yang
konseptual dan logis
untuk basis data kompleks, yang memiliki ratusan
bahkan
ribuan
atribut,
sangat
penting
untuk
menggunakan pendekatan yang akan menyederhanakan
proses desain, yaitu pendekatan “atas-bawah”.
Pendekatan ini diawali dengan perkembangan
model data yang memiliki beberapa entitas dan
hubungan-hubungan yang berlevel tinggi. Pendekatan ini
diilustrasikan dengan menggunakan konsep model
Entity-Relationship(ER).
Tahap dalam perancangan desain basis data
Desain basis data terdiri dari 3 tahapan utama,
yaitu desain basis data konseptual, desain basis data
logikal dan desain basis data fisikal.
a.
Desain basis data konseptual
Desain basis data konseptual adalah proses
perancangan sebuah model data yang digunakan di
dalam sebuah perusahaan.
Tahapan pertama dari desain basis data
konseptual adalah
membangun suatu data model
dengan menggunakan informasi yang didapat dari
permintaan
pengguna. Model
data konseptual
32 merupakan acuan untuk membuat desain basis data
tahap selanjutnya.
Berikut ini adalah langkah-langkah dalam
menyusun
perancangan
basis
data
konseptual
adalah:
1.
Identifikasi tipe data entitas.
2.
Identifikasi tipe relasi.
3.
Identifikasi dan Asosiasi attribut dengan tipe
entitas dan relasi.
4.
Menentukan domain atribut.
5.
Menentukan atribut-atribut Candidate Key dan
Primary Key.
6.
Memeriksa model data terhadap redundancy.
7.
Validasi model konseptual lokal terhadap
transaksi pengguna.
8.
Meninjau ulang kembali model konseptual
lokal terhadap transaksi pengguna.
b.
Desain basis data logikal
Desain basis data logikal adalah proses untuk
membangun sebuah model data berdasarkan sebuah
33 model data yang spesifik, tetapi bebas dari bagian
DBMS dan pertimbangan fisikal lainnya.
Model data konseptual yang dibuat di tahapan
sebelumnya diperbaiki dan dipetakan pada model
data logical. Sebuah model data konseptual bebas
dari semua pertimbangan fisikal, sebaliknya model
logikal mengetahui asal dari model data adalah
target DBMS. Seluruh proses pembuatan sebuah
model data logikal, model di uji coba dan
disesuaikan terhadap permintaan pengguna. Teknik
normalisasi akan digunakan untuk mengetahui
kebenaran
Normalisasi
dari
sebuah
dimaksudkan
model
agar
data
logikal.
tidak
terjadi
perulangan pada model data logikal.
Model
data
logikal
merupakan
sumber
informasi yang akan digunakan sebagai dasar
pembuatan desain basis data fisikal. Desain basis
data logikal ini akan diperbaiki dan terintegrasi
sehingga model data ini mengizinkan perubahan
pada tahapan desain basis data fisikal.
Beberapa langkah penting dalam merancang
basis data secara logikal adalah:
• Membangun dan memvalidasikan model data
logikal lokal pada setiap bagian, dengan tujuan
34 untuk memastikan bahwa secara struktural benar
dan akan mendukung transaksi yang ada.
Langkah-langkahnya adalah sebagai berikut:
a. Menghilangkan fitur-fitur yang tidak cocok
dengan model relasional(langkah ini bersifat
optional).
b. Mendapatkan relasi untuk model data logikal.
c. Validasi
relasi
dengan
menggunakan
normalisasi.
d. Validasi relasi terhadap transaksi pengguna.
e. Mendefinisikan integrity constraint.
f. Tinjauan kembali model data logikal lokal
bersama dengan pengguna.
•
Membangun dan memvalidasikan model data
logikal global, tujuannya untuk menggambarkan
keseluruhan dari perusahaan.
Langkah-langkahnya adalah:
a.
Gabungkan model data logikal lokal dengan
model data global(optional).
b.
Validasi model data logikal global.
35 c.
Melakukan
pengecekan
terhadap
pengembangan masa depan.
d.
Meninjau kembali model dari logikal global
bersama dengan pengguna.
c.
Desain Basis Data Fisikal
Desain basis data fisikal adalah proses untuk
membuat sebuah deskripsi dari implementasi basis
data pada secondary storage. Ini menjelaskan relasi
dasar, pengorganisasian file, dan indeks yang
digunakan untuk mencapai akses data yang efisien,
dan beberapa asosiasi integrity constraints dan
kepastian keamanan.
Walaupun struktur DBMS ini bebas, ini
dibangun berdasarkan sebuah bagian model data,
seperti relasi, jaringan, atau hirarki. Karena itu,
desain basis data fisikal disesuaikan pada sebuah
sistem DBMS yang spesifik.
Pada umumnya, tujuan pokok dari desain basis
data fisikal adalah untuk menjelaskan bagaimana
kita mengimplementasikan desain basis data logikal
secara nyata.
36 Pembuatan model relasional melibatkan :
•
Pembuatan sebuah set dari tabel relasi dan
batasannya yang didapat dari informasi yang
ada di dalam model basis data logikal.
•
Mengidentifikasi
spesifikasi
struktur
penyimpanan dan metode akses data untuk
mencapai performa yang optimal untuk aplikasi
sistem basis data.
•
Mendesain proteksi keamanan untuk system
aplikasi.
Beberapa langkah penting dalam merancang
basis data fisikal adalah:
1.
Merancang relasi dasar.
2.
Merancang representasi dari data yang didapat.
3.
Merancang enterprise constraints.
4.
Menganalisis transaksi.
5.
Memilih indeks.
6.
Memperkirakan
kapasitas
penyimpanan.
7.
Merancang mekanisme keamanan.
kebutuhan
37 2.1.7.5 DBMS SELECTION
Merupakan pemilihan DBMS yang sesuai untuk
mendukung sistem basis data. Apabila DBMS tidak ada, maka
bagian dari siklus yang bertugas memilih antara fase-fase
desain basis data yang konseptual dan logis. Meskipun
demikian, pemilihan dapat dilakukan kapan saja sebelum
desain logis menyediakan informasi yang memadai yang
tersedia
menurut
kebutuhan-kebutuhan
sistem
seperti
performa, menghapuskan struktur ulang, keamanan, dan
pemaksaan penyatuan.
Meskipun pemilihan DBMS jarang terjadi, saat
kebutuhan perusahaan meningkat, dan sistem-sistem yang
sudah ada digantikan, sangat penting untuk mengevaluasi
produk-produk DBMS yang baru. Pada masalah seperti ini,
tujuannya
yaitu
untuk
memilih
sebuah
sistem
yang
memadukan kebutuhan-kebutuhan sekarang dan yang akan
datang dari sebuah perusahaan. Keseimbangan antara biayabiaya yang meliputi pembelian produk-produk DBMS,
software/hardware tambahan dibutuhkan untuk mendukung
sistem basis data, dan biaya-biaya yang dihubungkan dengan
perubahan dan pelatihan staff.
Pendekatan yang sederhana adalah dengan memeriksa
fitur-fitur DBMS. Dalam memilih produk DBMS yang baru,
ada kesempatan yang memastikan bahwa proses pemilihan
38 direncanakan dengan baik, dan sistem memberikan keuntungan
yang nyata bagi perusahaan.
2.1.7.6 APPLICATION DESIGN
Merupakan desain hubungan pengguna/user dengan
program-program aplikasi yang menggunakan dan memproses
basis data. Basis data dan application design adalah kegiatan
yang paralel. Tidak mungkin untuk menyelesaikan desain
aplikasi
hingga
desain
basis
data
berlangsung.
Pada
kesempatan lain, basis data hadir untuk mendukung aplikasiaplikasi, sehingga harus ada aliran informasi antara desain
aplikasi dan desain basis data.
Kita harus memastikan bahwa semua fungsionalitas
yang dinyatakan dalam spesifikasi kebutuhan-kebutuhan
pengguna ada dalam desain aplikasi untuk sistem basis data.
Hal ini mencakup mendesain program-program aplikasi yang
mengakses basis data dan mendesain transaksi-transaksi.
Untuk mendesain bagaimana mencapai fungsionalitas
yang dibutuhkan, kita harus mendesain hubungan pengguna
yang benar untuk sistem basis data. Hubungan ini harus
memberikan informasi yang dibutuhkan dengan cara yang
ramah.
39 2.1.7.7 PROTOTYPING
Membangun model yang bekerja dari sistem basis data.
Model ini normalnya tidak memiliki semua fitur-fitur yang
dibutuhkan, dan tidak menyediakan seluruh funsionalitas dari
sistem final.
Tujuan utama dari mengembangkan prototype sistem
basis data adalah untuk memungkinkan pengguna untuk
menggunakan prototype untuk mengidentifikasi fitur-fitur dari
sistem yang berkerja dengan baik. Dengan cara ini, kita dapat
memutuskan kebutuhan-kebutuhan pengguna untuk pengguna
itu sendiri maupun si pengembang sistem. Prototype memiliki
keuntungan-keuntungan utama, yaitu tidak mahal dan cepat
dibangun.
Ada 2 strategi prototype yang sering digunakan pada
masa
sekarang,
yaitu
requirements
evolutionary
prototyping.
menggunakan
prototype
prototyping
Requirements
untuk
menentukan
dan
prototyping
kebutuhan-
kebutuhan dari sistem basis data, setelah kebutuhan-kebutuhan
itu selesai, prototype itu akan dihilangkan. Evolutionary
prototype digunakan untuk tujuan yang sama, perbedaan yang
penting yaitu, prototype tidak dihilangkan tapi dengan
perkembangan lebih jauh, akan menjadi sistem basis data.
40 2.1.7.8 IMPLEMENTATION
Merupakan realisasi fisik dari basis data dan desaindesain aplikasi.
Implementasi basis data dicapai dengan menggunakan
Data Definition Language (DDL) dari DBMS yang terpilih
atau Graphical User Interface (GUI), yang menyediakan
fungsionalitas yang sama ketika menyembunyikan pernyataan
DDL dengan level rendah. Pernyataan DDL digunakan untuk
menciptakan struktur basis data dan file-file basis data yang
kosong.
Program-program
aplikasi
ditanamkan
dengan
menggunakan 3GL atau 4GL. Bagian-bagian dari programprogram aplikasi ini
adalah transaksi-transaksi basis data,
yang ditanamkan dengan menggunakan Data Manipulation
Language (DML) dari target DBMS.
2.1.7.9 DATA CONVERSION AND LOADING
Melakukan transfer semua data yang ada ke dalam
basis data yang baru dan merubah aplikasi yang lama agar
dapat diajalankan di basis data yang baru.
Bagian ini hanya bisa dicapai apabila sebuah sistem
basis data baru menggantikan sistem yang lama. Biasanya
41 kemampuan ini didapat dari file awal target basis data dan
kemudian dirubah ke dalam file aplikasi yang baru.
2.1.7.10 TESTING
Proses dalam menjalankan sistem basis data dengan
mencari kesalahan yang ada.
Sebelum dijalankan sistem basis data harus melewati
tahap percobaan. Ini menggunakan perencanaan dari stategi
percobaan dan data yang ada sehingga proses percobaan
sangat penting. Dalam kenyataannya, percobaan ini tidak
menunjukkan
kesalahan
yang
ada
melainkan
hanya
menunjukkan kesalahan itu ada dalam software yang dibuat.
Jika percobaan ini berhasil dilakukan, maka tidak ada
kesalahan dalam program aplikasi yang dicoba dan dalam
stuktur basis data yang ada. Keuntungan kedua yang didapat
adalah percobaan ini menunjukkan basis data dan aplikasi ini
akan bekerja sesuai dengan kebutuhan pengguna dan
performa yang ada akan sesuai dengan permintaan serta
memenuhi kriteria yang dibutuhkan. Dalam kondisi tertentu,
koleksi metrik dari percobaan ini menunjukkan ukuran dari
software yang sebenarnya dan kualitas software tersebut.
Seperti di dalam perancangan basis data, pengguna dari
sistem baru ini harus turut serta dalam percobaan ini.
42 Percobaan ini juga harus bisa mencakup seluruh proses yang
bisa digunakan dalam sistem basis data.
Kriteria yang harus dicapai antara lain:
a.
Learnability , seberapa lama seorang pengguna baru
menjadi produktif dengan sistem.
b.
Performance, seberapa baik sistem yang ada merespon
penggunanya.
c.
Robustness, seberapa sistem mentoleransi kesalahan
pengguna.
d.
Recoverability, seberapa baiknya sistem menangani
kesalahan yang dibuat pengguna.
e.
Adapatability, seberapa baiknya sistem bekerja dalam
pekerjaan tunggal.
2.1.7.11 OPERATIONAL MAINTENANCE
Pemeliharaan
Operasional
adalah
sebuah
proses
memonitor dan memelihara sistem basis data berdasarkan
instalasi.
Pada tahap sebelumnya, sistem basis data telah
dijalankan dan diujicobakan. Sekarang sistem tersebut
menuju pada tahap pemeliharaan yang terdiri dari :
43 a.
Memonitor performa dari sistem. Jika performa tersebut
jauh di bawah tahap yang memungkinkan, maka perlu
pengorganisasian ulang dari sistem basis data.
b.
Pemeliharaan dan peningkatan kualitas dari sistem basis
data (ketika diperlukan).
Ketika sistem basis data telah dijalankan sepenuhnya,
perlu dilakukan pemantauan lebih lanjut mengenai performa
sistem tersebut. Sebuah DBMS normalnya memiliki banyak
kegunaan untuk mengurangi terjadinya kegagalan sistem
basis data tersebut, termasuk untuk memasukkan data ke
dalam basis data dan untuk memantau sistem. Kegunaan yang
dimiliki sistem tersebut dapat memberikan informasi yang
ada seperti kegunaan basis data.
Proses
pemantauan
merupakan
proses
yang
berkelanjutan sepanjang siklus hidup basis data dan
terkadang memerlukan perubahan untuk memenuhi performa
yang diinginkan.
2.1.8 Entity Relationship Modelling(ERD)
2.1.8.1 Simple Attribute
Simple Attribute adalah sebuah atribut yang
disusun oleh sebuah komponen tunggal dengan sebuah
eksistensi bebas.
44 Atribut sederhana tidak dapat dibagi lebih jauh
menjadi komponen yang lebih kecil. Contoh atribut
sederhana termasuk posisi dan gaji dari entitas pegawai.
Atribut sederhana seringkali disebut atomic attributes.
2.1.8.2 Composite Attribute
Composite Attribute adalah sebuah atribut yang
disusun oleh komponen yang bermacam–macam, tiap–
tiap dengan eksistensi bebas.
Beberapa atribut dapat dibagi lebih jauh dan
menghasilkan komponen yang lebih kecil dengan
eksistensi bebas milik mereka. Sebagai contoh ; atribut
alamat dari entitas cabang dengan nilai ( 163 Main St,
Glasglow, G11 9QX) dapat dibagi menjadi atribut jalan
(163 main St), kota (Glasglow), dan kode pos (G11
9QX).
Model akhir dari atribut alamat sebagai atribut
sederhana atau membagi atribut menjadi jalan, kota, dan
kode pos bergantung pada bagaimana tampilan yang
diinginkan oleh pengguna data terhadap atribut alamat,
yaitu sebagai unit tunggal atau sebagai komponen
individual.
45 2.1.8.3 Single-Valued and Multi-Valued Attributes
a. Single-Valued Attributes
Single-Valued Attributes adalah sebuah atribut
yang berisi nilai tunggal untuk setiap kejadian dari
sebuah tipe entitas.
Kebanyakan atribut merupakan nlai tunggal.
Sebagai contoh, setiap kejadian dari tipe entitas
cabang memiliki nilai tunggal untuk atribut nomor
cabang(BranchNo), sebagai contoh (B003), dan
karena itu atribut BranchNo menunjukkan sebagai
nilai tunggal.
b. Multi-Valued Attribute
Multi-Valued Attribute adalah sebuah atribut
yang berisi nilai yang bermacam-macam untuk setiap
kejadian dari sebuah tipe entitas.
Beberapa
atribut
memiliki
nilai
yang
bermacam-macam untuk setiap entitas yang terjadi.
Sebagai contoh, setiap kejadian dari tipe entitas
cabang dapat mempunyai nilai yang bermacammacam untuk atribut telNo (sebagai contoh, cabang
nomor B003 memiliki no telepon 0141-339-2178 dan
0141-339-4439) dan karena itu atribut telNo untuk
kasus ini memiliki nilai bermacam-macam. Sebuah
46 atribut yang multi-valued dapat memiliki sejumlah
nilai dengan batas yang lebih tinggi dan lebih rendah.
Sebagai contoh, atribut telNo dari tipe entitas cabang
memiliki antara satu dan tiga nilai. Dengan kata lain,
sebuah cabang mungkin memiliki seminimalnya
sebuah nomor telepon sampai dengan maksimal tiga
nomor telepon.
2.1.8.4 Derived Attribute
Derived Attribute adalah sebuah atribut yang
merepresentasikan sebuah nilai yang dapat diturunkan
dari nilai sebuah atribut yang dihubungkan atau
sejumlah atribut, tidak perlu di dalam tipe entitas yang
sama.
Nilai–nilai yang berisi beberapa atribut dapat
diturunkan. Sebagai contoh, nilai dari atribut durasi
dari entitas penyewaan dihitung dari atribut rentStart
dan rentFinish juga dari tipe entitas penyewaan. Kita
lebih menunjuk atribut durasi sebagai atribut turunan,
yang mana nilainya diturunkan dari atribut rentStart
dan rentFinish.
Pada beberapa kasus, nilai dari sebuah atribut
diturunkan dari entitas yang terjadi di dalam tipe
entitas yang sama. Sebagai contoh, jumlah total dari
47 atribut staff (totalStaff) dari tipe entitas staff dapat
dikalkulasi dengan menghitung jumlah total dari
entitas staff yang ada.
Atribut turunan juga mungkin melibatkan
asosiasi dari atribut dari tipe entitas yang berbeda.
Sebagai contoh, menimbang sebuah atribut yang
disebut deposit dari tipe entitas penyewaan. Nilai dari
atribut deposit dikalkulasi dua kali dari sebulan
menyewa sebuah property. Karena itu, nilai dari
atribut deposit dan tipe entitas penyewaan diturunkan
dari atribut sewa dari tipe entitas PropertyForRent.
2.1.8.5 Keys
a. Candidate Key
Candidate Key adalah set minimal dari
atribut yang diidentifikasi secara unik dari
setiap kejadian dari setiap tipe entitas.
Sebuah candidate key adalah jumlah
minimal dari atribut, yang mana setiap nilainya
diidentifikasi secara unik
oleh entitas yang
terjadi. Sebagai contoh, atribut nomor cabang
(branchNo) adalah candidate key untuk tipe
entitas cabang, memiliki nilai yang berbeda
48 untuk setiap entitas cabang yang terjadi.
Candidate key harus berisi niai yang unik untuk
setiap tipe entitas yang terjadi. Ini berarti sebuah
candidate key tidak dapat berisi null. Sebagai
contoh, setiap cabang memiliki sebuah nilai
cabang yang unik ( sebagai contoh, B003 ) dan
itu tidak mungkin lebih dari satu cabang dengan
nomor cabang yang sama.
b. Primary Key
Primary Key adalah candidate key yang
diseleksi dengan identifikasi yang unik dari
setiap tipe entitas yang terjadi.
Sebuah tipe entitas mungkin memiliki
lebih dari satu candidate key. Untuk tujuan
diskusi menimbang sebuah anggota dari staff
memiliki sebuah definisi perusahaan yang untuk
untuk nomor staff ( staffNo ) dan juga sebuah
National Insurance Number ( NIN ) yang unik
yang digunakan oleh pemerintah. Karena itu
kita memiliki dua candidate key untuk entitas
staff, satu yang mana harus dipilih seagai
primary key.
Pemilihan untuk primary key untuk
sebuah entitas berdasarkan pertimbangan dari
49 panjang atribut, nomor minimal dari atribut
yang dikehendaki, dan kepastian masa depan
dari
keunikan.
Sebagai
contoh,
definisi
perusahaan untuk nomor staf berisi maksimal
lima karakter ( sebagai contoh, SG14 ) dimana
NIN berisi maksimal sembilan karakter (
sebagai contoh, WL220658D ). Karena itu, kita
memilih staffNo sebagai primary key dari tipe
entitas Staff dan NIN kemudian ditunjuk
sebagai alternate key.
c. Composite Key
Composite Key adalah sebuah candidate
key yang berisi dua atau lebih atribut.
Di beberapa kasus, kunci dari sebuah
tipe entitas disusun oleh berbagai atribut, yang
nilainya unik secara bersama-sama untuk setiap
entitas yang terjadi tetapi tidak sebagian.
Sebagai contoh, menimbang sebuah entitas yang
disebut
Advert
dengan
atribut
propertyNo(nomor property), newspaperName,
dateAdvert,
dan
cost.
Banyak
property
diiklankan di banyak koran pada tanggal yang
ada. Untuk mengidentifikasi secara unik setiap
kejadian dari nilai tipe entitas Advert yang
50 dikehendaki
untuk
atribut
propertyNo,
newspaperName, dan dateAdvert. Demikianlah ,
tipe entitas Advert memiliki sebuah composite
primary
key
yang
terbuat
dari
atribut
propertyNo, newspaperName, dan dateAdvert.
Primary key
Staff
staffNo(PK)
Branch
Mengatur Area untuk mendaftarkan atribut name
branchNo(PK)
position
salary
address
Derived attribute
Composite attribute
street
totalStaff
city
Memiliki
postcode
telNo [1…3]
Multi‐valued attribute
Gambar 2.2 Composite Key
2.1.8.6 Strong and Weak Entity Types
Kita dapat mengelompokkan tipe entitas menjadi
strong atau weak.
51 a. Strong Entity Types
Strong entity types adalah sebuah tipe entitas
yang eksistensinya tidak bebas pada beberapa
tipe entitas lainnya.
Strong entity Client
Weak entity
States
ClientNo (PK)
Preference
Name
prefType
fName
maxRent
lName
telNo
Gambar 2.3 Strong Entity
Sebuah tipe entitas ditunjuk sebagai
strong apabila eksistensinya tidak bergantung
pada eksistensi dari tipe entitas lainnya.
Sebuah karakter dari sebuah tipe entitas yang
kuat yaitu setiap entitas yang terjadi dapat
diidentifikasi secara unik menggunakan atribut
primary key
dari tipe entitas itu. Sebagai
52 contoh, kita dapat mengidentifikasi secara unik
setiap anggota dari staff menggunakan atribut
staffNo, yang mana merupakan primary key
untuk tipe entitas Staff.
b. Weak Entity Types
Weak entitas types adalah sebuah tipe
entitas yang eksistensinya bergantung pada
beberapa tipe entitas lainnya.
Sebuah
tipe
entitas
yang
lemah
bergantung pada tipe entitas lainnya. Sebuah
karakteristik dari entitas yang lemah adalah
setiap entitas yang terjadi tidak dapat
diidentifikasi secara unik dengan hanya
menggunakan atribut yang berhubungan
dengan tipe entitas itu. Sebagai contoh,
catatan dimana disana tidak terdapat primary
key untuk entitas Preference. Ini berarti kita
tidak dapat mengidentifikasi setiap kejadian
untuk
tipe
entitas
Preference
hanya
menggunakan atribut dari entitas ini. Kita
hanya dapat mengidentifikasi secara unik
setiap preference dari hubungan yang mana
preference memiliki seorang klien yang
53 mana
diidentifikasi
secara
unik
menggunakan primary key untuk tipe entitas
Client, dinamakan clientNo. Pada contoh ini,
entitas preference didefinisikan memiliki
eksistensi yang bergantung pada entitas
Client, yang mana ditunjuk sebagai pemilik
entitas.
Tipe entitas yang lemah seringkali ditunjuk
sebagai entitas child, dependent,
atau
subordinate dan tipe entitas yang kuat
sebagai entitas parent, owner, atau dominant.
2.1.8.7 Structural Constraints
Sekarang kita mempelajari constraint
yang mungkin ditempatkan pada tipe entitas yang
ikut serta dalam sebuah hubungan. Constraint
harus dapat menggambarkan constraint pada
hubungan sebagai pengamatan dalam dunia
nyata. Contoh seperti constraint berisi syarat dari
sebuah
property
untuk
disewakan
adalah
memiliki seorang pemilik dan setiap cabang harus
memiliki staff. Tipe utama dari constraint pada
hubungan dinamakan multiplicity.
54 2.1.8.8 Multiplicity
Multiplicity adalah jumlah(atau hasil)
dari kejadian yang mungkin dari sebuah tipe
entitas yang mungkin berhubungan pada sebuah
kejadian tunggal dari sebuah asosiasi tipe entitas
melewati sebuah hubungan yang utama.
Multiplicity constrains merupakan cara
dimana entitas-entitas dihubungkan antara satu
sama lain. Itu merupakan gambaran aturan yang
diterbitkan oleh pengguna atau perusahaan.
Menjamin bahwa semua constrain yang dimiliki
telah diidentifikasi dan direpresentasikan adalah
sebuah bagian penting dari mendesain sebuah
perusahaan.
Sebagaimana yang telah kita jelaskan
sebelumnya, tingkat yang paling umum dari
hubungan adalah binary. Hubungan binary
umumnya mennjuk sebagai one-to-one ( 1:1 ),
one-to-many ( 1:* ), atau many-to-many ( *:* ),
Kita
menjelaskan
tiga
tipe
hubungan
ini
menggunakan integritas constraints berikut ini :
•
Seorang anggota staff mengatur sebuah
cabang ( 1:1 );
55 •
Seorang anggota staff mengamati property
untuk disewakan ( 1:* );
•
Koran
mengiklankan
property
untuk
disewakan ( *:* );
Suatu catatan penting bahwa tidak
semua integritas constraints dapat dengan mudah
direpresentasikan di dalam sebuah model ER,
Sebagai contoh, syarat dari seorang anggota staff
penerimaan sebuah tambahan hari libur karyawan
untuk setiap tahun dalam perusahaan akan sulit
direpresentasikan pada sebuah model ER.
a. One-to-One ( 1:1 ) relationships
Menimbang pada hubungan mengatur,
yang mana menghubungkan tipe entitas staff
dan
cabang.
Setiap
hubungan
merepresentasikan asosiasi di antara entitas
staff tunggal yang terjadi dan sebuah entitas
cabang
tunggal
yang
terjadi.
Kita
merepresentasikan setiap entitas yang terjadi
menggunakan nilai untuk atribut primary key
dari entitas staff dan cabang yang dinamakan
staffNo dan cabangNo.
56 Seorang anggota staff dapat mengatur nol atau satu Setiap staff mengatur nol atau satu cabang Mengatur
Cabang
Staff
staffNo
0..1
1..1
cabangNo
Gambar 2.4 One to One relationships
b. One-to-Many ( 1:* ) relationships
Menimbang pada hubungan mengamati,
yang mana menghubungakan tipe entitas
Staff
dan
hubungan
PropertiDisewakan.
merepresentasikan
Setiap
asosiasi
diantara entitas staff tunggal yang terjadi
dengan sebuah entitas PropertiDisewakan
tunggal yang terjadi. Kita merepresentasikan
setiap entitas yang terjadi menggunakan nilai
untuk atribut primary key dari entitas staff
dan PropertiDisewakan yang dinamakan
staffNo dan propertiNo.
57 Setiap anggota staff mengamati nol atau lebih properti untuk disewakan
Setiap properti untuk disewakan diamati oleh nol atau satu orang staff Mengamati Staff
PropertiDisewakan
staffNo
0..1
0..*
propertiNo
Gambar 2.5 One-to-Many ( 1:* ) relationships
c. Many-to-Many ( *:* ) relationships
Menimbang
pada
hubungan
mengiklankan, yang mana menghubungkan
tipe entitas Koran dan PropertiDisewakan.
Setiap hubungan merepresentasikan asosiasi
diantara entitas Koran tunggal yang terjadi
dengan sebuah entitas PropertiDisewakan
tunggal yang terjadi. Kita merepresentasikan
setiap entitas yang terjadi menggunakan nilai
untuk atribut primary key dari entitas Koran
58 dan PropertiDisewakan yang dinamakan
namaKoran dan propertiNo.
Setiap koran mengiklankan satu atau lebih properti untuk disewakan Setiap properti untuk disewakan diiklankan di nol atau lebih koran
M engiklankan
PropertiDisewakan
Koran
1..* namaKoran
propertiNo
0..*
Gambar 2. 6 Many to Many Relationship
2.1.8.8.1 Cardinality dan Participation Constraints
Multiplicity secara nyata terdiri dari dua
bagian constraints yang lebih dikenal sebagai
cardinality dan participation.
a.
Cardinality
Cardinality menguraikan jumlah
maksimal dari hubungan yang mungkin
terjadi untuk sebuah peserta entitas di
dalam tipe hubungan yang diberikan.
59 Cardinality
dari
sebuah
hubungan binary adalah apa yang kita
tunjuk terlebih dahulu sebagai one-toone ( 1:1 ), one-to-many ( 1:* ), atau
many-to-many ( *:* ). Cardinality dari
sebuah hubungan terlihat sebagai nilai
maksimal untuk jarak pada sisi yang
sama dari hubungan.
b.
Participation
Participation
constrain
menggambarkan apakah semua entitas
yang terjadi dilibatkan dalam sebuah
hubungan perticular (ditunjuk sebagai
mandatory participation) atau hanya
beberapa (ditunjuk sebagai optional
participation optional). Keikutsertaan
entitas-entitas dalam sebuah hubungan
terlihat sebagai nilai minimum untuk
barisan yang banyak pada salah satu sisi
dari hubungan. Optional participation
digambarkan
sebagai
sebuah
nilai
minimum dari 1. Penting untuk diingat
bahwa
keikutsertaan
untuk
sebuah
entitas yang diberikan dalam sebuah
hubungan digambarkan dengan nilai
60 minimun pada sisi lawan dari hubungan
tersebut. Itu
adalah nilai minimum
untuk multiplicity disamping entitas
yang berhubungan.
2.1.9
Normalisasi
Normalisasi merupakan sebuah teknik formal untuk
menganalisis hubungan berdasarkan pada primary key atau
candidate key dan fungsi ketergantungan(Codd,1972b).
Teknik ini melibatkan sejumlah aturan yang dapat
digunakan untuk menguji hubungan individual, jadi sebuah
basis data dapat dinormalisasikan ke berbagai tingkatan.
Ketika sebuah kebutuhan tidak ditemukan, hubungan yang
melanggar
kebutuhan
harus
dipisah-pisahkan
menjadi
hubungan yang dapat berdiri sendiri bertemu dengan
kebutuhan lain untuk proses normalisasi.
3Form normal awal yang diusulkan disebut First Normal
Form(1NF), Second Normal Form(2NF) dan Third Normal
Form(3NF). Normalisasi sering dieksekusi dalam sejumlah
langkah. Setiap langkah menyesuaikan pada form normal yang
spesifik dan memiliki properti yang telah diketahui.
Sebagai proses normalisasi, relasi menjadi lebih terkait
di dalam format dan juga tidak langsung bersinggungan
dengan memperbaharui penyimpangan-penyimpangan yang
61 ada. Untuk relasi model data, penting untuk diketahui bahwa
hanya First Normal Form(1NF) yang bersifat kritis pada
pembuatan relasi, semua form berikutnya adalah pilihan.
Normalisasi merupakan jawaban dalam menjawab
solusi untuk menyelesaikan masalah dengan tabel yang
memiliki bagian yang berulang. Normalisasi memasukkan
tabel tersebut ke dalam tabel yang terpisah. Ketika tabel
tersebut sudah tidak memiliki tabel yang berulang, maka itu
disebut First Normal Form(1NF). Dengan ini, setiap cell yang
ada di dalam tabel(1 baris dan 1 kolom) hanya dapat memiliki
1 nilai. Nilai ini harus berupa satuan terkecil yang sudah tidak
dapat dipecah menjadi satuan yang lebih kecil lagi.
Tujuan dari normalisasi adalah untuk mengidentifikasi
sebuah set hubungan yang cocok yang menyediakan data yang
dibutuhkan oleh perusahaan. Karakter-karakter set hubungan
yang cocok termasuk dibawah ini:
a. Jumlah atribut yang minimal diperlukan untuk menyediakan
data yang dibutuhkan oleh perusahaan.
b. Atribut dengan logical yang dekat (dijelaskan sebagai
fungsi ketergantungan) ditemukan pada relasi yang sama.
c. Perulangan
yang
minimal
pada
setiap
atribut
direpresentasikan hanya sekali dengan pengecualian penting
terhadap atribut yang membentuk seluruh/sebagian foreign
key.
62 Keuntungan menggunakan sebuah basis data yang
memiliki set hubungan yang cocok dengan basis data adalah
pengguna akan lebih mudah mengakses dan memperbaiki data
serta meminimalkan tempat penyimpanan pada komputer.
2.1.9.1 First Normal Form(1NF)
Sebelum mendiskusikan First Normal Form,
kita menyediakan definisi dari tingkatan yang lebih
dulu dibandingkan First Normal Form.
Unnormalized Form(UNF) adalah sebuah tabel
yang berisi satu atau lebih pengulangan.
First Normal Form (1NF) adalah sebuah relasi
yang mana pemisahan dari setiap baris dan kolom
berisi 1 dan hanya 1 nilai.
First Normal Form(1NF) hanya mendefinisikan
kelompok yang berulang dan memasukkan ke dalam
tabel baru yang terhubung dengan tabel utama lewat
sebuah initial key. Langkah selanjutnya akan lebih
sulit karena harus melihat hubungan antara nilai key
dan
non
key
dalam
sebuah
tabel.
Mereka
mengidentifikasi dengan tepat relation many to many.
Pada bagian ini, kita mulai dengan proses
normalisasi dengan memindahkan data dari sumber
63 menjadi format tabel yang berupa baris dan kolom.
Pada format ini, tabel dalam unnormalized form dan
ditunjuk sebagai unnormalized tabel(tabel yang belum
di normalisasi).
Untuk
mengubah
tabel
yang
belum
di
normalisasi menjadi First Normal Form, kita harus
mengidentifikasi
dan
menyingkirkan
perulangan
kelompok yang terjadi dalam tabel. Kelompok yang
diulang adalah sebuah atribut atau kelompok atribut
dengan sebuah tabel yang memiliki nilai yang banyak
untuk kejadian tunggal dari nominasi atribut kunci
untuk tabel tersebut. Perlu diketahui, kondisi ’key’
menunjuk pada atribut yang didefinisikan unik pada
setiap baris pada tabel yang belum dinormalisasikan.
Ada
perulangan
2
pendekatan
kelompok
dari
untuk
tabel
menyingkirkan
yang
belum
dinormalisasikan:
a.
Dengan memasukkan data ke dalam kolom
kosong dari baris yang berisi perulangan data.
Dalam kata lain, kita mengisi yang kosong
dengan duplikat data yang tidak diulang, yang
dikehendaki. Pendekatan ini umumnya ditunjuk
sebagai ‘flattening’ pada tabel.
64 b.
Dengan
menempatkan
perulangan
data,
sepanjang dengan sebuah salinan atribut kunci
asli, ke dalam sebuah relasi terpisah. Kadang,
tabel yang belum dinormalisasi mungkin berisi
lebih dari 1 perulangan kelompok. Pada kasus
seperti ini, pendekatan dapat diulang sampai tidak
ada lagi perulangan yang terjadi. Sebuah set relasi
dapat berada pada 1NF jika tidak terdapat
perulangan group
Untuk kedua pendekatan, tabel hasil sekarang
ditunjuk sebagai hubungan berisi nilai atomic (atau
tunggal) pada pemisahan dari setiap baris dan kolom.
Walaupun kedua pendekatan itu benar, pendekatan 1
mengenalkan lebih banyak kelebihan menjadi tabel
UNF asli sebagai bagian dari proses flattening,
padahal pendekatan 2 membuat dua atau lebih relasi
dengan perulangan yang lebih sedikit daripada tabel
UNF yang asli.
Dalam kata lain, pendekatan 2 memindahkan
tabel
UNF
asli
lebih
jauh
sepanjang
proses
normalisasi daripada proses pendekatan 1. Tetapi
pendekatan manapun yang diambil, bukan menjadi
masalah karena tabel UNF asli akan dinormalisasi
menjadi set yang sama dari relasi 3NF
65 2.1.9.2 Second Normal Form(2NF)
Second Normal Form(2NF) berdasarkan pada
konsep fungsi ketergantungan penuh. Second Normal
Form diterapkan pada relasi dengan composite keys,
yang mana relasi dengan sebuah atribut primary key
yang disusun oleh 2 atau lebih atribut. Sebuah relasi
dengan sebuah atribut primary key tunggal otomatis
setidaknya pada 2NF.
Sebuah relasi yang tidak terdapat pada 2NF
akan terkena penyimpangan pembaharuan. Second
Normal Form adalah sebuah relasi yang terdapat pada
First Normal Form dan setiap atribut selain primary
key sepenuhnya bergantung fungsinya pada primary
key.
Normalisasi dari hubugan 1NF ke 2NF
melibatkan pemindahan sebagian ketergantungan. Jika
sebuah ketergantungan sebagian terjadi, maka kita
harus menyingkirkan atribut ketergantungan sebagian
dari relasi dengan menempatkan mereka pada
sepanjang relasi yang baru dengan salinan dari faktor
penentu mereka.
2.1.9.3 Third Normal Form(3NF)
Walaupun
relasi
Second
Normal
Form
memiliki ketergantungan lebih sedikit daripada 2NF,
66 mereka masih akan terkena gangguan pembaharuan.
Gangguan pembaharuan ini disebabkan oleh sebuah
ketergantungan berpelengkap.
Third Normal Form adalah sebuah relasi yang
terdapat pada First Normal Form dan Second Normal
Form dan dimana tidak terdapat atribut yang bukan
primary key yang bergantung sepenuhnya pada
primary key.
Normalisasi dari hubungan 2NF ke 3NF
melibatkan ketergantungan secara lengkap. Jika
terdapat atribut ketergantungan secara lengkap dari
relasi dengan menempatkan atribut pada sepanjang
relasi yang baru dari salinan dari faktor penentu
mereka.
2.1.10 State Transition Diagram (STD)
STD adalah sebuah diagram yang menggambarkan
bagaimana proses dihubungkan dengan yang lainnya di dalam
waktu. STD menggambarkan keadaan sebuah komponen
sistem yang bisa didapatkan dan kejadian yang menyebabkan
perubahan dari keadaan yang satu ke yang lainnya.(Jeffrey,
p364)
Sebuah state dapat dikatakan sebagai sebuah model
atau kondisi dari keberadaan sebuah proses atau komponen
67 sistem
lainnya,
sebagaimana
ditentukan
oleh
keadaan
sekarang. Di dalam orientasi objek dikatakan, sebuah state
berisi seluruh property objek, yang mana bersifat statis, dan
nilai dari property tersebut, bersifat dinamis (Booch, 1994).
Transisi dari satu state ke yang lainnya disebabkan
oleh stimulasi yang kita kenal sebagai kejadian. Jarak yang
lebar dari fenomena dapat dikualifikasikan sebagai kejadian,
dari kejadian sebuah transaksi sampai tingkat penyimpanan
yang dicapai sebuah reorder point, sampai seorang pengguna
menekan sebuah tombol pada mouse pada field layar
pemasukkan data, sampai ke perubahan pada waktu dari hari
ke hari sampai selanjutnya.
Setiap kali sebuah state baru dimasukkan, sebuah aksi
yang berhubungan dengan state mengambil alih (Shlaer and
Mellor,199). Sebuah kejadian, selanjutnya, memetik sebuah
transisi ke sebuah state baru dan menyebabkan sebuah aksi
terjadi.
Seperti DFD, terdapat beberapa simbol yang digunakan
di dalam pembuatan STD. Setiap state digambarkan dengan
sebuah segi empat, setiap transisi digambarkan dengan sebuah
panah. Sebuah kejadian yang memetik transisi dari satu state
ke yang lainnya nampak pada sebuah label setelah dari panah
transisi. Aksi yang terjadi ketika sebuah state baru memasuki
nampak pada sebuah daftar intruksi yang tertulis di bawah
korespondensi state segi empat. Aksi dapat diorder di dalam
68 waktu (Conger, 1994). State kedua mengikuti state pertama,
yang
ketiga
mengikuti
yang
kedua,
dan
selanjutnya,
berdasarkan diagram. Terdapat banyak jalur di dalam sebuah
STD, tapi transisi ke setiap state baru dipetik oleh satu dan
hanya satu kejadian.
Terdapat
dua
cara
untuk
memproses
ketika
membangun STD. Cara pertama adalah untuk memikirkan
seluruh kemungkinan state yang mungkin diasumsikan oleh
sistem kemudian menentukan seluruh kemungkinan koneksi di
antara state. Cara kedua adalah untuk memulai dengan state
pertama, menentukan state mana yang mungkin untuk
dimasuki dari setiap state tersebut, sampai jaringan tersebut
dapat digambarkan(Yourdon, 1989b).
2.1.11 Data Flow Diagram (DFD)
DFD adalah sebuah model proses yang digunakan
untuk melukiskan aliran dari data dalam sebuah sistem dan
kerja atau proses yang dijalankan oleh sistem(Whitten, p344).
Di dalam tingkatan desain, beberapa dari proses bisnis
ini mungkin diimplementasikan sebagai software komputer.
Jika anda periksa DFD ini, anda akan menemukan ini sangat
mudah untuk dibaca, meskipun anda belum selesaikan bagian
ini, itu akan selalu menjadi keuntungan dari DFD. Di sini
hanya ada 3 simbol dan 1 koneksi :
69 •
Segi empat yang dibulatkan menggambarkan proses atau
kerja untuk diselesaikan. Perhatikan bahwa mereka
diilustrasikan di dalam warna proses dari lembar kerja
sistem informasi anda.
•
Lingkaran menggambarkan external agents–batasan dari
sistem. Perhatikan bahwa mereka diilustrasikan di dalam
warna tampilan dari lembar kerja sistem informasi anda.
•
Open-ended boxes
menggambarkan penyimpanan data,
seringkali
file-file
disebut
atau
database–database.
Penyimpanan data ini bersesuaian dengan seluruh bagian
dari entitas tunggal di dalam sebuah data model. Mereka
diilustrasikan dengan warna data dari lembar kerja sistem
informasi anda.
•
Panah menggambarkan aliran data, atau input dan output ,
untuk dan dari proses.
2.1.12 Context Data Flow Diagram
DFD Konteks adalah sebuah model proses yang
digunakan untuk mendokumentasikan lingkungan untuk
sebuah sistem(Whitten,p372).
Ketika kita membuat sebuah proyek, hal pertama yang
harus kita lakukan adalah mendokumentasikan lingkungan
awal dari proyek. Semua proyek memiliki lingkungan.
Lingkungan proyek mendefinisikan aspek apa saja dalam
bisnis yang perlu dibantu oleh sebuah sistem atau aplikasi dan
70 bagaimana sistem yang telah dimodelkan harus dapat
berinteraksi dengan sistem lain dan bisnis secara keseluruhan.
Di dalam lembar kerja sistem informasi, lingkungan
didefinisikan sebagai fokus komunikasi dari pengharapan
pemilik sistem. Yang mana itu didokumentasikan oleh sebuah
context data flow diagram.
Context data flow diagram berisi satu dan hanya satu
proses. Seringkali proses ini diidentifikasikan dengan angka
“0”;
meskipun
peralatan
kami
terkadang
tidak
mengizinkannya. Data flows mendefinisikan interaksi dari
sistem anda dengan batasan-batasan dan dengan penyimpanan
data eksternal.
2.1.13 Diagram Aliran Dokumen
Diagram Aliran Dokumen adalah simbol–simbol
standar yang digunakan oleh bagian analisis sistem untuk
membuat diagram aliran dokumen yang menggambarkan
sistem tertentu (Mulyadi, 1993, p60). Sebenarnya banyak
cara untuk mengembangkan diagram aliran dokumen suatu
sistem, namun diagram aliran dokumen merupakan alat yang
digunakan secara luas untuk menggambarkan aliran dokumen
suatu sistem.
71 Adapun simbol yang digunakan dalam diagram
aliran dokumen antara lain :
1.
Simbol Proses
Menunjukkan kegiatan proses dari
operasi program komputer.
Gambar 2.7 Simbol Proses
2.
Simbol Dokumen
Menunjukkan
dokumen
masukkan
dan keluaran, baik untuk proses
manual, mekanik atau komputer.
Gambar 2.8 Simbol Dokumen
3. Simbol Kegiatan Manual
Menunjukkan kegiatan manual.
Gambar 2.9 Simbol Kegiatan Manual
4. Simbol Penghubung
Menunjukkan
penghubung
ke
halaman yang sama dan ke halaman
yang lain.
Gambar 2.10 Simbol Penghubung
72 5. Simbol Catatan
Menunjukkan
direkam
catatan
sebelumnya
data
di
yang
dalam
dokumen.
Gambar 2.11 Simbol Catatan
6. Simbol Garis Alur
Menunjukkan arus pada proses.
Gambar 2.12 Simbol Garis Alur
7. Simbol Terminal
Menunjukkan sumber atau tujuan dari
dokumen.
Gambar 2.13 Simbol Terminal
8. Simbol Percabangan
Simbol
ini
digunakan
untuk
melambangkan percabangan, yaitu
pemeriksaan terhadap suatu kondisi.
Gambar 2.14 Simbol Percabangan
73 2.2
Teori Khusus
2.2.1 Database Security
Suatu mekanisme yang menjaga basis data terhadap gangguan
yang terjadi baik itu disengaja ataupun tidak disengaja.
Security tidak hanya berfungsi pada data yang terdapat di
dalam basis data, namun cabang dari security juga mempengaruhi
bagian lain dari sistem, yang mana juga mempengaruhi basis data.
Secara pasti, database security mempengaruhi perangkat keras,
perangkat lunak, orang, dan data. Untuk mengimplementasi keamanan
yang efektif diperlukan kontrol yang tepat, yang didefinisikan dalam
misi objektif yang spesifik untuk sistem tersebut.
Kebutuhan akan keamanan ini dahulu seringkali ditelantarkan
atau malah terlalu diperhatikan, sekarang mulai diperhatikan oleh
berbagai organisasi. Alasan untuk berbalik arah ini adalah peningkatan
jumlah kerawanan hubungan data yang tersimpan di komputer dan
penerimaan dari beberapa kehilangan dan ketidaktersediaan dari data ini
dapat menyebabkan kehancuran.
Sebuah basis data merupakan inti sumber hubungan yang
harus dilindungi dengan sebaik-baiknya menggunakan kontrol yang
tepat. Kita menggunakan database security di dalam sebuah relasi
untuk situasi sebagai berikut ;
•
Pencurian dan penipuan
•
Kehilangan kerahasiaan
74 •
Kehilangan privasi
•
Kehilangan integritas
•
Kehilangan kemampuan
Situasi ini dengan luas wilayah yang mewaili organisasi harus
mengusahakan pengurangan resiko dengan kemungkinan untuk
mengurangi resiko, yaitu kemungkinan dari pengurangan kehilangan
atau kerusakan. Pada beberapa situasi, area ini berhubungan erat dengan
sebuah aktivitas yang mengakibatkan kehilangan dalam satu area yang
juga akan mengakibatkan kehilangan pada area lainnya. Dalam
penambahannya, kejadian seperti penipuan atau kehilangan privasi
mungkin meningkat dikarenakan oleh perbuatan yang disengaja atau
tidak disengaja lainnya, dan jangan membutuhkan hasil dalam
perubahan yang terdeteksi pada basis data atau sistem komputer.
Pencurian
dan
penipuan
berakibat
tidak
hanya
pada
lingkungan basis data tetapi juga pada organisasi yang sudah lalu. Maka
dari sebab itu orang–orang yang melakukan aktivitas seperti ini,
perhatiannya harus fokus pada pengurangan kemungkinan akan
kejadian ini. Pencurian dan penipuan tidak memerlukan pengubah data,
seperti kasus untuk aktivitas yang dihasilkan baik itu untuk kasus
kehilangan kerahasiaan ataupun kehilangan privasi.
Kerahasiaan
berhubungan
dengan
kebutuhan
untuk
memelihara keamanan data, biasanya hanya pada bagian yang kritis
pada organisasi, padahal privasi berhubungan dengan kebutuhan untuk
menjaga data secara individual. Pelanggaran keamanan dapat
75 mengakibatkan
kehilangan
kerahasiaan,
sebagai
contoh
:
mengakibatkan kehilangan daya saing dan kehilangan prvasi dapat
mengakibatkan aksi yang sah yang diambil untuk menentang
organisasi.
Kehilangan integritas dari data mengakibatkan data menjadi
tidak tepat atau hilanganya sebagian dari data yang mana berakibat
serius pada operasi dari sebuah organisasi. Sekarang banyak organisasi
mencari operasi virtual yang berkelanjutan, yang mana berarti data atau
sistem ataupun kedua–duanya tidak dapat diakses, yang mana dapat
berakibat serius pada performa financial organisasi. Pada beberapa
kasus, hal tersebut dapat menyebabkan sistem tidak tersedia sehingga
menyebabkan hilangnya sebagian data
Keamanan basis data ditujukan untuk meminimalisasikan
kehilangan yang disebabkan oleh kejadian yang dihindari dalam aturan
pengefektifan biaya tanpa memaksa pengguna. Pada baru–baru ini
aktivitas kriminal dengan menggunakan komputer telah meningkat
dengan pesat dan akan meningkat secara terus-menerus pada beberapa
tahun yang akan datang.
2.2.2 Transaksi
Transaksi adalah sebuah aksi atau kumpulan aksi yang
dilakukan oleh pengguna tunggal atau program aplikasi yang mana
membaca atau meng-update isi dari basis data.
Sebuah transaksi adalah unit logical dari pekerjaan pada basis
data. Hal ini dapat berupa seluruh program, sebuah bagian dari
76 program, atau sebuah command tunggal dan hal itu akan melibatkan
beberapa operasi dari basis data di dalam konteks basis data, eksekusi
dari program aplikasi dapat berupa satu atau lebih transaksi dengan
proses bukan basis data yang mengambil tempat di antara keduanya.
Ada beberapa properti yang harus dimiliki oleh semua
transaksi, yang sering dikenal dengan empat dasar atau juga disebut
ACID, yaitu :
•
Atomicity
Sebuah transaksi adalah sebuah unit yang tidak dapat dibagi
performanya pada keseluruhannya, atau tidak ada performanya
sama
sekali.
Hal
tersebuat
adalah
tanggung
jawab
dari
pengembalian subsistem dari DBMS untuk menjamin atomicity.
•
Consistency
Sebuah transaksi harus mengubah basis data dari satu tingkat
konsistensi ke tingkat konsistensi lainnya. Hal tersebut merupakan
tanggung jawab dari DBMS dan pengembang aplikasi untuk
keseluruhan
konsistensi.
DBMS
dapat
dikonsistensikan
keseluruhannya dengan memaksa seluruh batasan yang telah
dispesifikasikan pada skema basis data, seperti integritas dan
batasan perusahaan. Seringkali transaksi itu sendiri tidak cukup
untuk menjamin konsistensi.
•
Isolation
Eksekusi transaksi terpisah antara satu dengan yang lainnya.
Dengan kata lain efek pembagian dari transaksi yang tidak selesai
tidak
boleh
ditunjukkan
kepada
transaksi
lainnya
karena
77 merupakan tangung jawab dari kontrol subsistem yang bersamaan
untuk menjamin isolasi.
•
Durability
Efek dari sebuah transaksi yang berhasil disalin secara
permanen di dalam basis data dan tidak boleh hilang yang terjadi
dikarenakan kegagalan yang berturut–turut.
Hal ini merupakan
tanggung jawab dari pengembalian subsistem untuk menjamin
durabilitas.
Terdapat 3 tipe pokok transaksi, yaitu :
•
Retrieval Transaction
Digunakan untuk memperoleh data untuk ditampilkan pada
layar atau pada laporan produksi.
•
Update Transaction
Digunakan untuk memasukkan record baru, menghapus
record lama, atau memodifikasi record yang sudah ada pada basis
data.
•
Mixed Transaction
Melibatkan kedua transaksi, baik itu penampilan dan update
data.
2.2.2.1
Persediaan
Persediaan adalah aktivitas penyimpanan fisik yang
menempati posisi cukuppenting dalam suatu perusahaan.
Aktiva perusahaan ini dapat terdiri dari bahan yang diterima
dengan tujuan untuk diproses lebih lanjut menjadi barang
78 setengah jadi atau bahan jadi, tergantung dari jenis dan proses
usaha utama perusahaan.
2.2.2.2
Pembelian
Pembelian adalah tanggung jawab untuk memesan
persediaan dari berbagai pemasok ketika tingkat persediaan
jatuh ke titik pemesanan ulang. Sifat dari pekerjaan ini
bervariasi
antarperusahaan.
Dalam
berberapa
kondisi,
pembelian tidak lebih dari mengirim pesanan pembelian
pemasok yang ditunjuk. Di kondisi lainnya, pekerjaan ini
melibatkan permintaan penawaran dari berbagai penjual yang
saling
bersaing.
Sifat
bisnis
serta
jenis
persediaan
menentukan sejauh mana fubgsi suatu bagian pembelian.
2.2.2.3
Penjualan
Penjualan adalah proses puncak pertukaran barang atau
jasa dengan imbalan sejumlah nominal yang harus dibayar
oleh pelanggan untuk barang atau jasa yang telah dijual.
Penjualan dimulai dari terjadinya kesepakatan antara penjual
atau pemilik barang dengan pembeli dan penyelesaiannya
adalah harga atau kewajiban yang harus diberikan atas
kompensasi
dari
barang
atau
jasa
yang
diberikan.
Pembayaran yang dilakukan dapat berupa pembayaran secara
tunai maupun pembayaran secara kredit.
79 2.2.3 Visual Basic
Microsoft Visual Basic (VB) merupakan sebuah bahasa
pemrograman yang bersifat event driven dan menawarkan Integrated
Development Environment (IDE) visual untuk membuat program
aplikasi
berbasis
sistem
operasi
Microsoft
Windows
dengan
menggunakan model pemrograman Common Object Model (COM).
Visual Basic merupakan turunan bahasa BASIC dan menawarkan
pengembangan aplikasi komputer berbasis grafik dengan cepat, akses
ke basis data menggunakan Data Access Objects (DAO), Remote Data
Objects (RDO), atau ActiveX Data Object (ADO), serta menawarkan
pembuatan kontrol ActiveX dan objek ActiveX. Beberapa bahasa skrip
seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting
Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara
kerjanya yang berbeda.
2.2.4 MySQL
MySQL adalah Relational Database Management System
(RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL
(General Public License). Dimana setiap orang bebas untuk
menggunakan MySQL, namun tidak boleh dijadikan produk turunan
yang bersifat komersial. MySQL sebenarnya merupakan turunan salah
satu konsep utama dalam basis data sejak lama, yaitu SQL (Structured
Query Language). SQL adalah sebuah konsep pengoperasian basis data,
terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoperasian data dikerjakan dengan mudah secara
80 otomatis. Keandalan suatu sistem basis data(DBMS) dapat diketahui
dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah
SQL,
yang
dibuat
oleh
pengguna
maupun
program-program
aplikasinya. Sebagai server basis data, MySQL dapat dikatakan lebih
unggul dibandingkan server basis data lainnya dalam query data. Hal ini
terbukti untuk query yang dilakukan oleh pengguna tunggal, kecepatan
query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima
kali lebih cepat dibandingkan Interbase .
Download