7
BAB 2
LANDASAN TEORI
2.1.
Teori - Teori Umum Database
2.1.1.
Pengertian Database
Menurut Connolly & Begg
(2005, p. 65),  database
adalah suatu
kumpulan logical data yang saling terhubung, dan deskripsi dari data, dirancang
untuk mendapatkan informasi yang dibutuhkan organisasi.
Menurut Elmasri & Navathe (2011, p. 4), database
memiliki sifat yang
harus dipatuhi :
Database
merepresentasikan beberapa aspek dari dunia nyata, terkadang
disebut miniworld atau the universe of discourse
(UoD). Perubahan pada
miniworld tercermin dalam database.
Database
adalah sekumpulan data yang koheren dengan makna yang
melekat. Data acak yang bermacam-macam tidak dapat dengan tepat disebut
sebuah database.
Database dirancang, dibangun, dan diisi dengan data untuk tujuan khusus.
Database
memiliki sekumpulan pengguna yang dimaksudkan dan beberapa
aplikasi prasangka dimana diminati pengguna.
Berdasarkan pengertian database
yang telah disebutkan sebelumnya,
dapat disimpulkan bahwa database
merupakan kumpulan logical data yang
saling terhubung dan dirancang, dibangun, dan diisi dengan data untuk
membantu pengguna mencapai tujuan khusus.
2.1.2.
Data Store Design Process
Menurut Silbermann et al (2013), Proses permodelan menghasilkan
model data, yang secara kemudian digunakan untuk menstrukturkan
penyimpanan data. Pada pendekatan tradisional (relasional), pengertian dari
model atau skema data yang kaku
dibutuhkan untuk menstrukturkan
penyimpanan data. Semakin tangkas pendekatan skema yang kurang
memungkinkan untuk beberapa iterasi melalui proses perancangan, yang
  
8
membuatnya semakin mungkin untuk meningkatkan struktur tempat
penyimpanan.
Gambar 2.1. Data Store Design Process (Silbermann, Wernicke, Pospisil, &
Frohme, 2013, p. 2)
2.1.3.
Pengertian Database Management System (DBMS)
Menurut Connolly & Begg (2005,
p. 66), DBMS merupakan sistem
perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat,
mempertahankan, dan mengelola  akses ke database.
DBMS merupakan
perangkat lunak yang berinteraksi dengan program aplikasi pengguna dengan
database. Database memberikan fasilitas berikut :
Memungkinkan pengguna untuk mendefinisikan database, biasanya melalui
Data Definition Language (DDL). DDL memungkinkan pengguna untuk
menentukan tipe data dan struktur dan batasan dari data yang disimpan ke
database.
Memungkinkan pengguna unuk memasukan, memperbarui, menghapus, dan
mendapatkan kembali data dari database, biasanya melalui Data
Manipulation Language (DML). Memiliki repositori pusat untuk semua data
  
9
dan deskripsi data memungkinkan DML memberikan permintaan
fasilitas
umum untuk data ini, disebut query language. Query
Language
yang
biasanya digunakan adalah Structured Query Language (SQL).
Memberikan akses yang dapat dikelola ke database, sebagai contoh :
o
sistem pengamanan, yang mencegah pengguna tidak sah mengakses ke
database;
o
sistem integritas, yang menjaga konsistensi dari data yang tersimpan;
o
sistem kontrol konkurensi, yang memungkinkan akses terbagi di database;
o
sistem kontrol pemulihan, yang menyimpan database ke status konsisten
sebelumnya mengikuti kesalahan hardware dan software.
o
katalog yang dapat diakses pengguna, yang berisi deskripsi data dalam
database.
Menurut Elmasri & Navathe (2011, p. 6), terdapat fasilitas lain dari
DBMS, yaitu :
application program
mengakses database dengan cara mengirim query
atau
permintaan terhadap data ke DBMS.
query secara khusus membuat beberapa data untuk dapat didapatkan kembali
transaction
dapat membuat beberapa data dibaca dan beberapa data ditulis
dalam database.
Fungsi yang lain yang diberikan oleh DBMS termasuk mempertahankan
database dan menjaganya selama periode yang lama. Protection termasuk
perlindungan sistem terhadap kerusakan hardware atau software dan proteksi
keamanan terhadap akses yang tidak diijinkan. Database yang besar mungkin
memiliki siklus hidup selama beberapa tahun, jadi DBMS harus dapat menjaga
sistem database dengan cara membuat perkembangan terhadap sistem seperti
kebutuhan yang berubah setiap waktu.
2.1.3.1.
Komponen DBMS
Menurut Connolly & Begg (2005, p. 68), terdapat 5 komponen
utama dari lingkungan DBMS yaitu:
Hardware
terdiri dari penyimpanan permanen, perangkat I/O, device
controller, I/O Channels, hardware processor dan main memory.
Software,
mencakup application software, DBMS software,
Operating System, dan Software jaringan.
  
10
Data, merupakan komponen terpenting yang menghubungkan antar
komponen mesin (Software dan Hardware) serta komponen manusia
(procedures dan people).
Procedures, berhubungan dengan instruksi-instruksi dan aturan-aturan
yang menentukan bagaimana perancangan dan penggunaan dari
database. Prosedur tersebut meliputi:
o
masuk ke dalam DBMS.
o
menggunakan fasilitas DBMS atau aplikasi program.
o
memulai dan menghentikan DBMS.
o
membuat backup dan recovery database.
o
menangani kesalahan hardware dan software.
People, merupakan komponen yang juga terlibat dengan sistem yang
meliputi:
o
Data
Administrator
(DA), mengatur sumber daya data yang
meliputi perancangan database, pengembangan dan pemeliharaan
standar, kebijakan, prosedur, dan perancangan konseptual dan
logikal database.
o
Database Administrator (DBA), mengatur realisasi fisik dari
aplikasi database yang meliputi perancangan fisik database,
implementasi, pengaturan keamanan dan kontrol integritas,
pengawasan performa sistem dan pengaturan ulang database.
o
Perancang database logikal dan fisikal
o
Programmer aplikasi, bertanggung jawab untuk membuat aplikasi
database dengan menggunakan bahasa pemograman yang ada.
o
End Users, siapapun
yang
berinteraksi
dengan
sistem
secara
online melalui workstation atau terminal.
2.1.3.2.
Keuntungan dan Kerugian DBMS
Menurut Connolly & Begg (2005, p. 77), terdapat keuntungan dan
kerugian DBMS, yaitu:
A.
Keuntungan DBMS
1.
Kontrol terhadap redundansi data
: pendekatan database
mencoba
menghapus redundansi dengan menggabungkan file-file sehingga
salinan data yang sama tidak diinginkan.
  
11
2.
Konsistensi data
: database membantu menghilangkan atau mengatur
redundansi. Hal ini akan mengurangi terjadinya data yang tidak
konsisten.
3.
Informasi lebih dari jumlah data yang sama
: dengan integrasi data
operasional, hal ini akan memungkinkan perusahaan untuk
mendapatkan tambahan informasi dari data yang sama.
4.
Pembagian data : database dimiliki oleh seluruh organisasi dan dapat
dibagi oleh semua user yang memiliki hak akses. Dengan demikian,
banyak pengguna mampu membagi banyak data.
5.
Peningkatan integritas data
: integritas database menunjuk pada
keabsahan dan konsistensi dari data yang disimpan.
6.
Peningkatan keamanan
: kemananan database adalah pelindung basis
data dari user yang tidak memiliki hak akses.
Tanpa keamanan yang
tepat, integrasi hanya akan membuat data menjadi lebih mudah
diserang.
7.
Pemberlakuan standar
: integrasi membolehkan DBA untuk
menentukan dan menyeleggarakan standar yang diperlukan.
8.
Skala ekonomi
: dengan menggabungkan data operasional suatu
perusahaan ke dalam satu database, dan membuat sebuah kumpulan
aplikasi yang bekerja pada satu sumber data, akan dapat menghemat
pengeluaran suatu perusahaan.
9.
Keseimbangan terhadap kebutuhan bertentangan
: setiap pengguna
atau departemen memiliki kebutuhan yang berbeda akan data. Karena
database berada dibawah control DBSA, maka DBA dapat membuat
keputusan tentang perancangan dan operasional dari suatu database.
10. Peningkatan akses data dan responsibilitas
: sebagai hasil dari
integrasi, data yang melewati batas departemen dapat diakses oleh
end-user. Hal ini akan menghasilkan sebuah sistem dengan
fungsionalitas yang tinggi.
11. Peningkatan produktivitas
: DBMS menyediakan sebuah lingkungan
fourth-generation
yang terdiri dari alat yang menyederhanakan
pengembangan aplikasi database. Hal inilah yang dapat meningkatkan
produktivitas programmer
dan juga mengurangi waktu
pengembangan.
  
12
12. Peningkatan perbaikan melalui data yang independen
: DBMS
memisahkan deskripsi mengenai data dengan aplikasi. Hal ini akan
membuat aplikasi bebas untuk berubah dalam deskripsi data.
13. Meningkatkan konkurensi
: DBMS akan mengatur akses database
secara bersamaan dan memastikan agar tidak terjadi kehilangan
informasi atau integritas.
14. Peningkatan cadangan dan layanan pemulihan
: DBMS menyediakan
fasilitas yang dapat mengurangi proses yang akan mengalami
kegagalan.
B.
Kerugian DBMS
1.
Kompleksitas : ketentuan-ketentuan dan fungsionalitas yang
diharapkan dari sebuah DBMS yang baik, membuat DBMS menjadi
sebuah bagian dari software yang sangat rumit.
2.
Ukuran
: kompleksitas dan luasnya fungsionalitas yang dimiliki
DBMS membuat DBMS menjadi sebuah bagian software yang besar,
yang menempati banyak megabyte dari disk space dan membutuhkan
ukuran memori yang besar untuk dapat berjalan dengan efisien.
3.
Biaya untuk DBMS : biaya DBMS berubah-berubah secara signifikan,
tergantung pada lingkungan dan fungsionalitas yang disediakan.
4.
Biaya tambahan untuk hardware
: kebutuhan akan tempat
penyimpanan untuk DBMS dan database mengharuskan untuk
membeli tempat penyimpanan tambahan. Selanjutnya untuk mencapai
kinerja yang dibutuhkan, diperlukan untuk membeli alat yang lebih
besar, bahkan sebuah alat khusus yang ditujukan untuk menjalankan
DBMS.
5.
Biaya untuk pengubahan
: biaya ini termasuk biaya pelatihan staf
untuk dapat menggunakan sistem yang baru dan biaya
memperkerjakan spesialis staf untuk membantu dalam konversi dan
menjalankan sistem.
6.
Performa
: DBMS secara umum berfungsi untuk memenuhi
kebutuhan data dari berbagai aplikasi. Efek yang dapat ditimbulkan
adalah beberapa aplikasi akan menjadi lebih lambat saat dijalankan
ketika menggunakan DBMS.
  
13
7.
Dampak yang lebih tinggi untuk kegagalan
: sumber yang terpusat
meningkatkan kemungkinan sistem untuk mudah terkena serangan.
Karena semua pengguna dan aplikasi bergantung pada ketersediaan
DBMS. Kegagalan beberapa komponen dapat menghentikan operasi.
2.1.4.
Database Language
2.1.4.1.
Data Definition Language
Menurut Connolly & Begg (2010, p. 188), DDL digunakan untuk
menentukan skema database dan DML digunakan untuk kedua membaca
dan update
database.
Bahasa-bahasa ini disebut sub-languages
data
karena mereka tidak termasuk konstruksi untuk semua kebutuhan
komputasi tingkat, seperti pernyataan kondisional atau iteratif, yang
disediakan oleh bahasa pemograman tingkat tinggi.
2.1.4.2.
Data Manipulation Language
Menurut Connolly & Begg (2010, p. 188), pengertian Data
Manipulation Language adalah suatu bahasa yang menyediakan
seperangkat operasi untuk mendukung manipulasi data yang berada pada
basis data. Pengoperasian data yang akan dimanipulasi biasanya meliputi:
1)
Penambahan data baru ke dalam basis data.
2)
Modifikasi data yang disimpan ke dalam basis data.
3)
Pengembalian data yang terdapat di dalam basis data.
4)
Penghapusan data dari basis data.
Menurut Data Manipulation Language dibagi menjadi dua jenis,
yaitu Procedural dan Non-Procedural.
Procedural DML adalah suatu bahasa yang memperbolehkan
pengguna untuk mendeskripsikan ke sistem data apa yang dibutuhkan dan
bagaimana mendapatkan data tersebut secara tepat, sedangkan Non-
Procedural DML adalah sebuah bahasa yang mengizinkan pengguna
untuk menentukan data apa yang dibutuhkan tanpa memperhatikan
bagaimana data diperoleh.
  
14
2.1.5.
Pengertian Database System Development Lifecycle (DSDLC)
Menurut Connolly & Begg (2005, p. 313), untuk merancang aplikasi
sistem basis data diperlukan tahapan-tahapan yang dinamakan dengan siklus
hidup aplikasi basis data (DBLC).
Gambar 2.2. Database System Development Lifecycle (Connolly & Begg, 2010,
p. 314)
  
15
2.1.5.1.
Database Planning
Menurut Connolly & Begg (2005, p. 313), perencanaan basis data
(database planning) merupakan merencanakan bagaimana setiap tahapan
dari siklus dapat direalisasikan menjadi lebih efisien dan efektif.
Perencanaan basis data harus dapat terintegrasi dengan sistem informasi
perusahaan secara umum. Beberapa hal yang terlibat dalam formula
adalah strategi sistem informasi, yaitu:
1)
Indentifikasi dari rencana dan tujuan perusahaan-perusahaan dengan
menentukan kebutuhan sistem informasi.
2)
Evaluasi sistem informasi yang sedang berjalan untuk menentukan
kelebihan dan kekurangan.
3)
Penilaian dari keuntungan teknologi informasi yang dapat memberi
keuntungan kompetitif.
2.1.5.2.
System Definition
Menurut Connolly & Begg (2005, p. 316), definisi sistem adalah
mendeskripsikan cakupan dan batasan dari aplikasi basis data, baik
pengguna aplikasi tersebut. Sebelum mencoba untuk merancang aplikasi
basis data, pertama-tama harus mengidentifikasi batasan dari sistem yang
akan kita investigasi dan bagaimana membuat antarmuka dengan sistem
informasi tiap bagian dari organisasi.
Dalam mendefinisikan sistem, harus ditentukan oleh user view,
yaitu mengidentifikasikan apa yang dibutuhkan oleh aplikasi basis data
berdasarkan pandangan dari tiap bagian tugas (misalnya manajer atau
supervisor) atau area aplikasi perusahaan (misalnya marketing, personnel,
atau stock control), pemasaran, personalia, dan pengendalian persediaan.
2.1.5.3.
Requirements Collection and Analysis
Menurut Connolly & Begg (2010, p. 316), analisis data dan
pengumpulan kebutuhan adalah proses mengumpulkan dan anlisis
informasi tentang bagian dari organisasi yang dapat didukung leh aplikasi
basis data, dan menggunakan bagian dari organisasi yang dapat didukung
oleh aplikasi basis data, dan menggunakan informasi tersebut untuk
mengidentifikasi kebutuhan pengguna dari sistem baru.
  
16
Banyak informasi teknik yang dapat dilakukan untuk
mengumpulkan informasi tersebut, disebut teknik-teknik yang dapat
dilakukan untuk mengumpulkan informasi tersebut, disebut teknik fact
finding. Informasi yang dikumpulkan untuk setiap user view, mencakup:
1)
Deskripsi data yang digunakan.
2)
Rincian mengenai bagaimana data dapat digunakan atau dihasilkan.
3)
Kebutuhan tambahan lainnya untuk aplikasi basis data yang baru.
Informasi ini selanjutnya dianalisis untuk mengidentifikasi
kebutuhan yang dapat dimasukkan ke dalam aplikasi basis data baru.
Kebutuhan ini dideskripsikan ke dalam dokumen bersama sebagai
requirements specifications untuk aplikasi basis data baru.
Ada tiga pendekatan untuk mengelola kebutuhan dari aplikasi
basis data dengan banyak user views, yaitu:
1)
The centralized approach = kebutuhan dari setiap user view digabung
menjadi sebuah set kebutuhan dari aplikasi basis data.
2)
The view integration approach = kebutuhan dari setiap user view
digunakan untuk membangun model data secara terpisah untuk
merepresentasikan user view tersebut. Model data yang dihasilkan
tersebut nantinya akan digabungkan pada tahapan database.
3)
Kombinasi dari dua pendekatan diatas.
2.1.5.4.
Database Design
Menurut Connolly & Begg (2010, p. 320), database design adalah
proses membuat perancangan basis data yang dapat mendukung pekerjaan
dan tugas perusahaan. Perancangan basis data ini memiliki tiga tahapan,
yaitu:
A.
Perancangan basis data konseptual
Perancangan basis data konseptual yaitu proses membangun
sebuah model informasi yang digunakan di sebuah perusahaan, terbebas
dari segala pertimbangan fisik.
Tahap-tahap dalam merancang basis data konseptual :
1.
Mengidentifikasi tipe entitas
: untuk mengidentifikasi tipe entitas
yang dibutuhkan.
  
17
2.
Mengidentifikasi tipe hubungan
: untuk mengidentifikasi hubungan
penting yang muncul diantara entitas yang ada.
3.
Mengidentifikasi dan mengasosiasi atribut dengan entitas atau tipe
hubungan
: untuk mengasosiasikan atribut dengan tipe entitas atau
tipe hubungan yang sesuai.
4.
Menentukan batasan atribut : untuk memberikan batasan untuk atribut
dalam model data konseptual.
5.
Menentukan candidate, primary, dan alternate key attribute
: untuk
mengidentifikasi candidate
key
untuk setiap tipe entitas dan, jika
terdiri lebih dari satu candidate key,
untuk memilih satu untuk
dijadikan primary key dan yang lainnya menjadi alternate key.
6.
Memperhatikan penggunaan dari konsep enhanced modeling
(tahap
opsional)
: untuk mempertimbangkan penggunaan dari konsep
pemodelan yang ditingkatkan, seperti specialization / generalization,
aggregation, dan composition.
7.
Memastikan model untuk redundansi
: untuk mengecek redundansi
pada model.
8.
Memvalidasi model konseptual terhadap transaksi pengguna
: untuk
memastikan model konseptual mendukung transaksi yang dibutuhkan.
9.
Mengulas kembali model konseptual dengan pengguna
: untuk
mengulas kembali model data konseptual dengan pengguna untuk
memastikan bahwa pengguna memperhatikan model sebagai
perwakilan dari kebutuhan data dari perusahaan.
B.
Perancangan basis data logikal
Perancangan basis data logikal yaitu proses membangun sebuah
model informasi yang digunakan di sebuah perusahaan berdasarkan pada
sebuah mode data yang spesifik, tetapi terbatas dari DBMS tertentu dan
pertimbangan-pertimbangan fisikal lainnya.
Tahap-tahap dalam merancang basis data logikal :
1.
Memperoleh hubungan untuk model data logikal
: untuk membuat
relasi untuk model data logikal untuk mewakilkan entitas, relasi, dan
atribut yang telah diidentifikasi.
  
18
2.
Memvalidasi hubungan menggunakan normalisasi
: untuk
memvalidasikan relasi pada model data logikal menggunakan
normalisasi.
3.
Memvalidasi hubungan terhadap transaksi pengguna
: untuk
memastikan bahwa relasi pada model data logikal mendukung
transaksi yang dibutuhkan.
4.
Mengecek batasan integritas
: untuk mengecek batasan integritas
diwakili pada model data logikal.
5.
Mengulas kembali model data logikal dengan pengguna
: untuk
mengulas kembali model data logikal dengan pengguna untuk
memastikan bahwa pengguna memperhatikan model sebagai
perwakilan asli dari kebutuhan data dari perusahaan.
6.
Menggabungkan model data logikal menjadi model global (tahap
opsional)
: untuk menggabungkan model data logikal lokal menjadi
suatu model data logikal global yang mewakili tampilan pengguna
dari basis data.
7.
Mengecek untuk perkembangan masa depan
: untuk memberikan
apakah ada perubahan yang berarti yang dapat diduga dan untuk
memberikan apakah model data logikal dapat mengakomodasi
perubahan tersebut.
C.
Perancangan basis data fisikal
Perancangan basis data fisikal yaitu proses menghasilkan sebuah
deskripsi dari pengimplimentasian basis data pada media penyimpanan
sekunder, yang mendeskripsikan hubungan dasar, pengorganisasian file,
dan indeks yang digunakan untuk memperoleh akses data secara efisien
serta batasan integritas dan ukuran-ukuran keamanan yang berhubungan.
Tahap-tahap dalam merancang basis data fisikal :
1.
Menerjemahkan Model Data Logikal untuk target DBMS
: untuk
menghasilkan skema basis data relasional dari model data logikal
yang dapat diimplementasi pada target DBMS.
Merancang relasi dasar
: untuk memutuskan bagaimana relasi
dasar diidentifikasi pada model data logikal pada sasaran DBMS.
  
19
Merancang perwakilan dari data turunan
: untuk memutuskan
bagaimana mewakili data turunan ada pada model data logikal
pada target DBMS.
Merancang batasan umum
: untuk merancang batasan umum pada
target DBMS.
2.
Merancang file organisasi dan indeks
: untuk menentukan file
organisasi yang optimal untuk menyimpan relasi dasar dan indeks
yang dibutuhkan untuk mencapai performa yang dapat diterima,
dengan cara relasi dan tuple dapat disimpan pada tempat penyimpanan
kedua.
Menganalisa transaksi :
untuk
memahami fungsi dari transaksi
yang akan beroperasi pada basis data dan untuk menganalisa
transaksi yang penting.
Memilih organisasi file
: untuk menentukan file organisasi yang
efisien untuk setiap relasi dasar.
Memilih indeks
: untuk menentukan apakah menambahkan indeks
dapat meningkatkan performa dari sistem.
Mengestimasi kebutuhan ruang disk
: untuk mengestimasi ukuran
ruang penyimpanan yang dibutuhkan oleh basis data.
3.
Merancang tampilan pengguna : untuk merancang tampilan pengguna
yang diidentifikasi selama pengumpulan kebutuhan dan tahap analisis
dari Database System Development Lifecycle.
4.
Merancang mekanisme keamanan
: untuk merancang mekanisme
keamanan dari basis data seperti yang dispesifikasikan oleh pengguna
selama kebutuhan dan tahap pengumpulan
dari Database System
Development Lifecycle.
5.
Mempertimbangkan pengenalan redundansi terkontrol
: untuk
menentukan apakah mengenalkan redundansi secara terkendali
dengan cara mengendurkan aturan normalisasi dapat meningkatkan
performa dari sistem.
6.
Memantau dan menyesuaikan sistem operasional
: untuk memantau
sistem operasional dan meningkatkan performa dari sistem untuk
  
20
membenarkan keputusan rancangan yang kurang sesuai atau
mencerminkan perubahan kebutuhan.
Menurut Connolly & Begg (2010, p. 321), ada 4 pendekatan
dalam desain basis data yaitu:
1)
Top-Down
Diawali dengan pembentukan model data yang berisi beberapa entitas
high-level dan relationship,
yang kemudian menggunakan pendekatan
top-down
secara berturut-turut untuk mengidentifikasi entitas lower
level, relationship dan atribut lainnya.
2)
Bottom-up
Dimulai dari atribut dasar (yaitu, sifat-sifat entitas dan relationship),
dengan analisis dari penggabungan antar atribut, yang dikelompokan
ke dalam suatu relasi yang merepresentasikan tipe dari entitas dan
relationship antar entitas.
3)
Inside-out
Berhubungan dengan pendekatan bottom-up
tetapi sedikit berbeda
dengan identifikasi awal entitas utama dan kemudian menyebar ke
entitas, relationship,
dan atribut terkait lainnya yang lebih dulu
diidentifikasi.
4)
Mixed
Menggunakan pendekatan bottom-up dan top-down untuk bagian yang
berbeda sebelum pada akhirnya digabungkan.
2.1.5.5.
DBMS Selection (optional)
Menurut Connolly & Begg (2010, p. 325), pemilihan DBMS yang
sesuai untuk mendukung aplikasi basis data yang mencakup:
1)
Mendefinisikan syarat-syarat referensi studi
Menentukan sasaran, batasan masalah, dan tugas yang harus
dilakukan.
2)
Mendaftar 2 atau 3 jenis barang
Membuat daftar barang-barang, misalkan dari mana barang ini
didapat, berapa biayanya serta bagaimana bila ingin mendapatkannya.
3)
Mengevaluasi barang
  
21
Barang-barang yang ada dalam daftar diteliti lebih lanjut untuk
mengetahui kelebihan dan kekurangan barang tersebut.
4)
Merekomendasikan pilihan dan membuat laporan
Merupakan langkah terakhir dari DBMS yaitu mendokumentasikan
proses dan untuk menyediakan pernyataan mengenai kesimpulan dan
rekomendasi terhadap salah satu produk DBMS.
2.1.5.6.
Application Design
Menurut Connolly & Begg (2010, p. 329), perancangan aplikasi
adalah merancang antarmuka pemakai (user interface)
dan program
aplikasi, yang akan memproses basis data.
Dalam merancang aplikasi harus memastikan semua pernyataan
fungsional dari spesifikasi kebutuhan pemakai (user requirement
specification) yang menyangkut perancangan aplikasi program yang
mengakses basis data dan merancang transaksi yaitu cara akses ke basis
data dan perubahan terhadap isi basis data (retrieve, update, dan kegiatan
keduanya). Artinya bagaimana fungsi yang dibutuhkan dengan cara untuk
menciptakan user friendly. Kebanyakan antarmuka pemakai yang
diabaikan akan niscaya membuat masalah.
Terdapat 2 aspek dalam Application Design, yaitu :
1.
Transaction Design
Transaction adalah sebuah kegiatan, atau sekumpulan tindakan, yang
dilakukan oleh seorang pengguna atau program aplikasi, yang
mengakses isi dari basis data.
Alasan dari merancang transaksi adalah untuk menjelaskan dan
mendokumentasi karakteristik tingkat tinggi dari transaksi yang
dibutuhkan pada basis data, termasuk :
data digunakan oleh transaksi;
karakteristik fungsional dari transaksi;
hasil dari transaksi
kepentingan untuk pengguna
tingkat yang diharapkan dari penggunaan
  
22
Terdapat 3 tipe dari transaksi :
Retrieval transactions
: digunakan untuk mendapatkan kembali
data untuk menampilkannya pada layar atau pada pelaporan.
Update transactions
: digunakan untuk memasukan data baru,
menghapus data lama, atau memodifikasi data yang ada pada basis
data.
Mixed transactions : melibatkan retrieval dan updating dari data.
2.
User Interface Design
Terdapat panduan untuk merancang form atau laporan, yaitu :
Meaningful title
Comprehensible instructions
Logical grouping and sequencing of fields
Visually appeling layout of the form/report
Familiar field labels
Consistent terminology adn abberviations
Consistent use of color
Visible space and boundaries for data-entry fields
Convenient cursor movement
Error correction for individual characters and entire fields
Error messages for unacceptable values
Optional values marked clearly
Explanatory messages for fields
Completion signal
2.1.5.7.
Prototyping
Menurut Connolly & Begg (2010, p. 333), pengertian Prototyping
adalah membuat model kerja dari aplikasi basis data, yang membolehkan
perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi
tampilan maupun fungsi yang dimiliki sistem.
Tujuan utama dari mengembangkan suatu prototype adalah
mengijinkan user untuk menggunakan prototype
guna
  
23
mengidentifikasikan corak sistem apakah bekerja dengan baik dan jika
mungkin meningkatkan corak baru kepada aplikasi database.
Dengan cara ini, kebutuhan dari pemakai dan pengembang sistem
dalam mengevaluasi kelayakan design sistem akan semakin jelas
sehingga kelebihan atau kekurangan sistem dapat ditangani dengan baik.
Strategi prototyping
yang umum digunakan sekarang ada dua,
yaitu requirement dan evolutionary prototyping. Requirement prototyping
adalah menggunakan prototype untuk menetapkan kebutuhan dari tujuan
aplikasi basis data dan ketika kebutuhan sudah terpenuhi, prototype tidak
digunakan lagi atau dibuang. Sedangkan evolutionary prototype
menggunakan tujuan yang sama, tetapi perbedaan pentingnya adalah
prototype tetap digunakan untuk selanjutnya dikembangkan menjadi
aplikasi basis data yang lengkap.
2.1.5.8.
Implementation
Menurut Connolly & Begg (2010, p. 333), Implementation
merupakan realisasi secara fisik dari database dan desain aplikasi. Pada
tahap penyelesaian desain, dapat diterapkan basis data dan program
aplikasi yang telah dibuat. Implementasi basis data menggunakan DDL
yang dipilih dalam melakukan pemilihan 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.
Pandangan pemakai lainnya juga diimplementasikan dalam tahapan ini.
Data Manipulation Language (DML) digunakan untuk
mengimplementasikan transaksi basis data di dalam bagian aplikasi
program dari sasaran DBMS, mungkin termasuk host programming
language seperti, Visual basic, C, C++, Java, dan Pascal.
2.1.5.9.
Data Conversion and Loading
Menurut Connolly & Begg (2010, p. 334), Data conversion and
loading adalah mencakup pengambilan data dari sistem lama untuk
dipindahkan ke dalam sistem yang baru. Langkah ini diperlukan hanya
  
24
ketika suatu sistem basis data baru sedang menggantikan sistem yang
lama. Sekarang, DBMS yang memiliki kegunaan yang dapat mengisi file
yang ada ke dalam sistem yang baru telah dianggap umum, kegunaan
yang ada umumnya memerlukan spesifikasi sumber file dan target basis
data yang baru. Ketika conversion
and loading dibutuhkan, prosesnya
harus direncanakan untuk memastikan kelancaran transaksi untuk
keseluruhan operasi.
2.1.5.10. Testing
Menurut Connolly & Begg (2010, p. 334), testing adalah suatu
proses melaksanakan program aplikasi dengan tujuan menemukan
kesalahan. Sebelum diterapkan dalam suatu sistem, basis data harus
dilakukan testing terlebih dahulu. Hal, ini dicapai dengan penggunaan
secara hati-hati untuk merencanakan suatu test dan data yang realistis
sedemikian sehingga keseluruhan proses pengujian sesuai dengan metode
dan dilaksanakan sesuai aturan yang ada.
Kriteria yang digunakan untuk evaluasi dari testing, yaitu :
Learnability
Performance
Robustness
Recoverability
Adaptability
2.1.5.11. Operational Maintenanve
Menurut Connolly & Begg (2010, p. 335), operational
maintenance adalah proses memantau dan memelihara sistem setelah
dipasang. Pada tahapan sebelumnya, basis data benar-benar diuji dan
diimplementasikan. Sekarang sistem beralih ke tahapan pemeliharaan.
Yang termasuk aktifitas dari tahapan ini adalah sebagai berikut:
1)
Memantau kinerja dari sistem. Jika kinerjanya menurun dibawah level
yang dapat diterima, mungkin basis data perlu diorganisasi.
2)
Pemeliharaan dan upgrade aplikasi basis data (jika diperlukan).
Ketika basis data sepenuhnya bekerja, pemantauan harus
memastikan kinerjanya dapat berada dalam tingkat yang diterima. Sebuah
  
25
DBMS biasanya menyediakan berbagai kegunaan (utilities) untuk
membantu administrasi basis data termasuk kegunaan untuk mengisi data
ke dalam basis data dan untuk memberikan informasi seperti pemakaian
basis data dan strategi eksekusi query.
Database administrator dapat menggunakan informasi ini untuk
memperbaiki sistem agar dapat memberikan kinerja yang lebih baik.
2.1.6.
Entity-Relationship Modeling
Menurut Connolly & Begg (2010, p. 371), entity-relationship modeling
merupakan permodelan yang berguna untuk memberikan pemahaman yang tepat
terhadap data dan penggunaannya di dalam suatu perusahaan. Model ini
menggunakan pendekatan top-down dalam perancangan basis data yang di mulai
dengan mengidentifikasikan data penting yang disebut entity dan relasi antar data
yang akan direpresentasikan ke dalam model. Kemudian ditambahkan detail-
detail lebih seperti informasi yang akan dicari mengenai entities dan relationship
yang disebut dengan atribut dan constraints pada entity, atribut, dan relationship.
2.1.6.1.
Entity Type
Menurut Connolly & Begg (2010, p. 372), entity type merupakan
sekumpulan objek di dunia yang memiliki property yang sama. Entity
direpresentasikan dalam bentuk diagram berupa persegi panjang berlabel
nama dari entity
2.1.6.2.
Relationship Types
Menurut Connolly & Begg (2010, p. 372), relationship types
merupakan suatu hubungan antar entity types. Relationship
Types
direpresentasikan dalam bentuk diagram berubah garis lurus yang
menghubungkan dua buat entity types, ditandai dengan nama dari relasi
tersebut. Pada umumnya, relasi dinamai dengan kata kerja.
Menurut Connolly & Begg (2010, p. 376), dalam relationship
types terdapat degree of relationship type.
Degree of relationship type
merupakan jumlah tipe
entitas yang terkait dalam relationship.
Entitas
yang terkait dalam relationship disebut dengan participants. Jadi, degree
dari suatu relationship
menunjukkan banyaknya entitas yang tergabung
dalam suatu relationship.
  
26
2.1.6.3. Attributes
Menurut Connolly & Begg (2010, p. 379), atribute adalah
property suatu entitas atau jenis relasi. atribut domain adalah himpunan
nilai yang diperbolehkan untuk satu atau lebih atribut. Atribut dapat
diklasifikasikan menjadi lima, yaitu:
1)
Simple Attribute
Simple attribute adalah sebuah atribut yang terdiri dari komponen
tunggal yang mempunyai keberadaan bebas dan tidak dapat dibagi
menjadi bagian yang lebih kecil dikenal dengan nama atomic
attribute.
2)
Composite Attribute
Composite attribute adalah atribut yang terdiri dari beberapa
komponen, dimana masing-masing komponen mempunyai
keberadaan yang bebas.
3)
Single-valued Attribute
Single-valued attribute adalah atribut yang mempunyai nilai tunggal
untuk setiap kejadian dari tipe entity.
4)
Multi-valued Attribute
Multi-valued attribute adalah atribut yang mempunyai beberapa nilai
untuk setiap kejadian dari tipe entity.
5)
Derived Attribute
Derived attribute
adalah atribut yang memiliki nilai yang dihasilkan
dari satu atau sekelompok atribut yang berhubungan, dan tidak harus
berasal dari satu entitas.
2.1.6.4.
Key
Menurut Connolly & Begg (2010, p. 381), key adalah sebuah field
yang digunakan untuk mengidentifikasi satu atribut atau lebih secara unik
mengidentifikasi setiap record.
Key yang sering digunakan yaitu:
1)
Candidate key, merupakan kumpulan minimal dari atribut-atribut
yang secara unik mengidentifikasikan suatu entity.
2)
Primary Key merupakan candidate key yang dipilih untuk secara unik
mengidentifikasikan suatu entity.
  
27
3)
Composite Key
merupakan candidate key yang terdiri atas dua atau
lebih atribut.
4)
Alternate Key
merupakan candidate key yang tidak terpilih menjadi
primary key, atau biasa disebut dengan secondary key.
5)
Foreign Key merupakan sebuah primary key pada sebuah entitas yang
digunakan pada entitas lainnya untuk mengidentifikasi sebuah entity.
2.1.6.5.
Structural Constraints
Menurut Connolly & Begg (2010, p. 385), memeriksa batasan tipe
entitas yang mempunyai kesamaan dalam relationship. Multiplicity
adalah jumlah atau range dari terjadinya yang mungkin dari suatu entity
yang mungkin berhubungan dengan kejadian tunggal dari jenis entitas
yang terkait melalui suatu hubungan tertentu.
Hubungan Structural Constraints dibagi menjadi 3 jenis, yaitu:
1)
Hubungan One-to-One (1:1) adalah hubungan antara entitas yang satu
dengan entitas lain mempunyai relasi hubungan satu entitas.
2)
Hubungan One-to-Many (1:*) adalah hubungan antara entitas pertama
yang mempunyai banyak relasi dengan entitas kedua yang
mempunyai relasi satu entitas.
3)
Hubungan Many-to-Many
(*:*) adalah hubungan antara entitas
pertama yang mempunyai relasi banyak dengan entitas kedua.
Cardinality
adalah menjelaskan jumlah maksimum hubungan
terjadinya yang mungkin untuk suatu entitas yang berpartisipasi dalam
jenis hubungan tertentu.
Participation
adalah menentukan semua atau hanya beberapa
terjadinya entitas berpartisipasi dalam hubungan.
2.1.6.6.
Normalization
Menurut Connolly & Begg (2010, p. 415), Normalisasi adalah
sebuah teknik untuk menghasilkan sekelompok relasi atau hubungan
dengan properti-properti yang diinginkan, yang memberikan kebutuhan
data dari suatu perusahaan dan perancangan
database
harus memenuhi
kondisi untuk tidak mengandung anomali, yaitu suatu kejanggalan dari
penempatan atribut tertentu dari suatu objek data. Untuk membedakan
  
28
satu record
dengan yang lainnya maka perlu dipilih atribut atau
kombinasi atribut sebagai kunci primer (primary key).
Tujuan pembuatan normalisasi adalah:
1)
membuat kemungkinan terjadinya data rangkap menjadi minimal.
2)
menghindarkan adanya data yang tidak konsisten terutama bila terjadi
penambahan, penghapusan data sebagai akibat adanya data rangkap.
3)
menjamin bahwa identitas tabel secara tunggal sebagai determinan
semua atribut.
2.1.6.6.1.
First Normal Form (1NF)
Aturan normalisasi pertama (1NF) dapat dikatakan bahwa
sebuah relasi dimana setiap baris dan kolom hanya berisi satu nilai.
suatu data dikatakan unnormalized
(UNF). Jika di dalamnya
mengandung kelompok yang berulang (redundancy group), sehingga
untuk membentuk normalisasi pertama, pengelompokan harus
dihilangkan. Nilai dari setiap atribut adalah tunggal. Kondisi ini dapat
diperoleh dengan melakukan eliminasi terjadinya data ganda
(redundancy data). Namun pada kondisi pertama ini kemungkinan
masih terjadi adanya data rangkap.
2.1.6.6.2.
Second Normal Form (2NF)
Aturan normalisasi kedua (2NF) dapat dikatakan bahwa sebuah
relasi dalam bentuk normal pertama dan atribut bukan primary key
yang tergantung secara fungsional kepada primary key.
Pengujian
bentuk normal kedua dapat dihasilkan dengan melihat apakah ada
atribut bukan primary key yang merupakan fungsi dari sebagian
primary key.
2.1.6.6.3.
Third Normal Form (3NF)
Aturan normalisasi ketiga (3NF) adalah sebuah relasi dalam
bentuk normal pertama dan kedua dan setiap atribut yang bukan
primary key yang bergantung secara transitif kepada primary key.
Pengujian terhadap 3NF dilakukan dengan cara melihat apakah
terdapat atribut yang bukan key tergantung fungsional terhadap atribut
bukan key lainnya. Dengan cara yang sama, maka setiap
  
29
ketergantungan transitif dipisahkan. 3NF sudah cukup baik dalam arti
anomali yang dikandungnya sudah sedemikian minimum.
2.1.6.6.4.
Boyce Codd Normal Form (BCNF)
Suatu relasi disebut memenuhi BCNF dan hanya jika setiap
determinan yang ada pada relasi tersebut adalah candidate key. Untuk
normalisasi ke bentuk BCNF, maka tabel 3NF didekomposis menjadi
beberapa tabel yang masing-masing memenuhi BCNF. Tujuan
membentuk BCNF:
1)
Semantik multiple candidate key
menjadi lebih eksplisit (FD
hanya pada candidate key).
2)
Menghindari update
anomali yang masih mungkin terjadi pada
3NF.
Dari definisi 3NF dan BCNF, maka apabila suatu relasi
memenuhi BCNF pasti memenuhi 3NF, tetapi belum tentu sebaliknya.
2.1.7.
Database Security
Menurut Connolly & Begg (2010, p. 568), Keamanan basis data adalah
mekanisme yang melindungi basis data terhadap ancaman yang secara sengaja
maupun tidak sengaja. Situasi yang diperhatikan yang berhubungan dengan
keamanan basis data adalah : 
pencurian dan penipuan
hilangnya kerahasiaan
hilangnya privasi
hilangnya integritas
hilangnya ketersediaan
Tipe penanggulangan (countermeasures) terhadap ancaman dari sistem
komputer terbentang dari pengendalian fisik hingga prosedur administrasi.
Sistem keamanan berbasis pada komputer untuk lingkungan multi-user :
Authorization
Otorisasi adalah pemberian ijin terhadap hak istimewa yang memungkinkan
subyek untuk mengakses legitimasi kepada sistem atau obyek sistem. Proses
otorisasi melibatkan otentikasi dari subyek yang meminta akses pada suatu
  
30
obyek. Otentikasi adalah mekanisme yang menentukan apakah hak akses
pengguna tersebut.
Access Controls
Cara paling umum untuk memberikan akses kendali terhadap sistem basis
data adalah berdasarkan pada memberikan dan mencabut hak istimewa. Hak
istimewa (privilege)
memungkinkan pengguna untuk membuat atau
mengakses (membaca, menulis, atau memodifikasi) beberapa obyek basis
data (relasi, view, indeks) atau untuk menjalankan keperluan DBMS tertentu.
o
DAC (Discretionary Access Control)
merupakan pendekatan untuk
memberikan hak istimewa menggunakan perintah GRANT dan
REVOKE. Perintah GRANT memberikan hak istimewa kepada
pengguna, dan perintah REVOKE mencabuk hak istimewa dari
pengguna.
o
MAC (Mandatory Access Control)
berdasarkan pada kebijakan luas
sistem yang tidak dapat diubah oleh pengguna individu. Model yang
paling populer dari MAC disebut sebagai Bell-LaPadula
model yang
menjelaskan istilah dari obyek, kelas keamanan, dan izin.
Views
Sebuah tampilan adalah hasil dinamis dari satu atau lebih operasi relasional
yang mengoperasikan pada relasi dasar untuk menghasilkan relasi lainnya.
Sebuah Tampilan adalah relasi virtual yang tidak ada pada basis data, tetapi
tetap dihasilkan berdasarkan pada permintaan oleh pengguna. Mekanisme
tampilan memberikan mekanisme keamanan yang kuat dan fleksibel dengan
cara menyembunyikan bagian dari basis data dari beberapa pengguna.
Backup and recovery
Backup
adalah proses mengambil tiruan dari basis data dan log file secara
berkala pada media penyimpanan offline. Journaling
adalah proses untuk
menyimpan dan menjaga log file
dari semua perubahan yang dibuat pada
basis data untuk memungkinkan pemulihan untuk dilakukan secara efektif
pada suatu kesalahan.
Integrity
Batasan integritas juga mengkontribusikan untuk menjaga sistem basis data
yang terlindungi dengan cara menjaga data menjadi tidak benar, dan
karenanya memberikan hasil yang salah.
  
31
Encryption
Enkripsi adalah pengkodean dari data oleh algoritma yang spesial yang
membuat data menjadi tidak dapat dibaca oleh program manapun tanpa kunci
dekripsi. Untuk mengirimkan data secara aman pada jaringan yang tidak
aman membutuhkan cryptosystem, yang termasuk : 
o
kunci enkripsi untuk mengenkripsikan data;
o
algoritma enkripsi, dengan kunci enkripsi, mengubah tulisan biasa
menjadi chipertext;
o
kunci dekripsi untuk mendekripsikan chipertext;
o
algoritma dekripsi, dengan kunci dekripsi, mengubah chipertext
menjadi
tulisan biasa.
RAID (Redundant Array of Independent Disks) Technology
RAID bekerja pada sebuah array disket yang besar yang terdiri dari
pengaturan dari beberapa disket yang terkelola untuk meningkatkan
keandalan dan pada waktu yang sama meningkatkan performa.
Performa
ditingkatkan melalui penggarisan data. Penggarisan meningkatkan performas
I/O keseluruhan dengan cara memungkinkan beberapa I/O untuk dilayani
secara paralel.
Keandalan ditingkatkan melalui penyimpanan informasi
redundan yang terdapat pada disket menggunakan skema keseimbangan atau
skema pengkoreksi kesalahan.
  
32
2.1.8.
DBMSs and Web Security
Menurut Connolly & Begg (2010, p. 587), Internet merupakan jaringan
yang terbuka. Tantangannya adalah untuk mengirim dan menerima informasi
melalui Internet dan juga memastikan bahwa :
ini tidak dapat diakses oleh siapapun kecuali pengirim dan penerima
(privasi);
ini tidak dirubah selama pengiriman (integritas);
penerima dapat yakin bahwa ini datang dari pengirim (keaslian);
pengirim dapat yakin bahwa penerima tersebut murni (bukan pabrik);
pengirim tidak dapat menolak
bahwa orang tersebut yang mengirim (tidak
ada penolakan).
Isi yang dapat dilaksanakan dapat melakukan aksi jahat, dan
pengukuran perlu dilakukan untuk menjaganya : 
data rusak atau status pelaksanaan dari program;
memformat disket yang lengkap;
menampilkan keseluruhan sistem shutdown;
mengumpulkan dan mengunduh data rahasia, seperti file atau password, pada
situs lainnya;
merebut identitas dan menirukan pengguna atau komputer pengguna untuk
menyerang target lain dalam jaringan;
mengunci sumber daya membuatnya menjadi tidak tersedia untuk pengguna
dan program yang sah;
penyebab tidak fatal namun efek yang tidak diinginkan, terutama pada
perangkat output.
2.1.8.1.
Proxy Servers
Proxy server adalah komputer yang berada diantara browser
website dan server website. Ini menyadap semua permintaan pada server
web untuk menentukan apakah itu dapat memenuhi permintaannya
sendiri. Jika tidak, maka akan dilanjutkan permintaannya kepada server
web. Proxy Server memiliki 2 tujuan inti yaitu  improve performance dan
filter requests.
  
33
2.1.8.2.
Firewalls
Firewall adalah sistem yang dirancang untuk mencegah yang tidak
terotoritasi mengakses ke atau dari jaringan pribadi. Terdapat beberapa
tipe teknik dari firewall :
Packet filter
: yang terlihat pada setiap paket yang masuk atau keluar
dari jaringan komputer dan menerima atau menolak berdasarkan pada
aturan yang disebutkan oleh pengguna.
Application gateway
: yang menerapkan mekanisme keamanan pada
aplikasi khusus seperti FTP dan server Telnet.
Circuit-level gateway
: yang menerapkan mekanisme
keamanan
ketika koneksi TCP atau UDP (User Datagram Protocol) dibangun.
Proxy server : yang menghadang semua pesan masuk dan keluar dari
jaringan.
2.1.8.3.
Message Digest Algorithms and Digital Signatures
Sebuah algoritma pesan yang dicerna membuat ukuran string yang
semena-mena dan mengenerasikan string dengan panjang yang tetap.
Karakteristik dari pencernaan : 
Ini seharusnya komputasi tidak layak untuk menemukan pesan yang
lain yang akan mengenerasikan dengan pencernaan yang sama;
Pencernaan tidak menunjukkan apapun mengenain pesan tersebut.
Penandaan digital terdiri dari 2 informasi : string dari bits yang
dihitung dari data yang telah ditandakan bersama dengan kunci privasi
dari individu atau organisasi yang mengharapkan penandaan ini.
Penandaan digital memiliki properti yang berguna : 
Keaslian dapat diverifikasi, menggunakan komputasi berdasarkan
pada sesuai kunci publik;
Tidak dapat ditiru (mengasumsikan bahwa kunci privasi tetap
rahasia);
Ini adalah fungsi dari data yang ditandakan dan tidak dapat diklaim
sebagai tanda untuk data lainnya;
Data yang ditandakan tidak dapat diubah; terkecuali, tanda yang tidak
akan lagi memverifikasi data sebagai asli.
  
34
2.1.8.4.
Digital Certificates
Sertifikat digital adalah lampiran kepada pesan elektronik yang
digunakan untuk tujuan keamanan, yang paling sering untuk
memverifikasi pengguna yang mengirim pesan adalah dia yang
mengklaim dan memberikan penerima dengan maksud untuk
menyandikan balasan.
2.1.8.5.
Kerberos
Kerberos adalah server dari username dan password yang dijaga.
Kepentingan dari Kerberos adalah itu dapat memberikan server keamanan
terpusat untuk semua data dan sumber daya pada jaringan.
2.1.8.6.
Secure Sockets Layer and Secure HTTP
Dasarnya, protokol ini memungkinkan browser dan server untuk
mengotentikasi satu dan yang lainnya dan menjaga informasi yang
kemudian mengalir diantaranya. Dengan melalui penggunaan teknik
kriptografis seperti enkripsi, dan penandaan digital, protokol ini : 
memungkinkan browser dan server website untuk mengotentikasi satu
sama lain;
mengijinkan situs website pemilik untuk mengendalikan akses kepada
server tertentu, direktori, files, atau layanan;
memungkinkan informasi sensitif untuk dibagikan diantara browser
dan server, namun tetap tidak dapat diakses oleh pihak ketiga;
memastikan penukaran data diantara browser dan server tetap handal,
yaitu, tidak dapat dirusak secara tidak sengaja maupun sengaja, tanpa
terdeteksi. 
2.1.8.7.
Secure Electronic Transactions and Secure Transaction
Technology
Protokol penjagaan transaksi elektronik terbuka, dapat bekerja
dalam standar untuk memproses transaksi kartu kredit pada Internet.
Tujuan dari SET adalah untuk memungkinkan transaksi kartu kredit
semakin simpel dan aman pada internet seperti mereka pada toko eceran.
  
35
Protokol penjagaan teknologi transaksi dirancang untuk menangani
keamanan pembayaran bank pada internet.
2.1.8.8.
Java Security
Keamanan dan penjagaan adalah bagian internal dari perancangan
Java, dengan 'sandbox'
memastikan bahwa yang tidak dipercaya, yang
kemungkinan jahat, aplikasi tidak dapat mengakses kepada sumber daya
sistem. Untuk mengimplementasi sandbox, 3 komponen yang digunakan
yaitu pemuat kelas, pemeriksa kode byte, dan manager keamanan.
a class loader : membutuhkan kelas dan mengeceknya dengan format
yang benar, mengecek aplikasi tidak melanggar keamanan sistem
dengan cara menyediakan ruang penamaan.
a bytecode verifier
: pemeriksa mengasumsi bahwa semua kode
memiliki maksud untuk merusak keamanan sistem dan melakukan
sekumpulan pemeriksaan, termasuk pelaksanaan teorema prover,
untuk memastikan bahwa ini bukan kasusnya. Pengecekan termasuk
memverifikasi bahwa :
o
kode yang disusun adalah dengan format yang benar;
o
tumpukan internal tidak akan melebihi atau kekurangan;
o
tidak ada konversi data ilegal yang akan terjadi
o
instruksi kode byte adalah diketik dengan benar;
o
semua akses anggota kelas adalah benar.
a security manager : melakukan verifikasi langsung dari metode yang
berbahaya, yaitu metode yang meminta I/O, akses jaringan, atau
permintaan untuk mengakses pemuat kelas yang baru. Download
applet menjaga dari :
o
membaca dan menulis file pada sistem file klien. Ini juga menjaga
applet untuk menyimpan data tetap pada sisi klien, walaupun data
dapat dikirm kembali kepada host untuk penyimpanan;
o
membuat koneksi jaringan pada mesin lain dari host yang
memberikan file kompilasi
'.class'. Ini antara host dimana asal
halaman HTML, atau host yang ditentukan pada parameter
CODEBASE
pada tag applet, dengan CODEBASE
yang
didahulukan;
o
memulai program pada sisi klien;
  
36
o
memuat library;
o
mendefinisikan panggilan metode. Memungkinkan applet untuk
mendefinisikan pemanggilan metode asli akan memberikan applet
akses langsung kepada sistem operasi pokok.
2.1.9.
Database Integrity and Database Security
Menurut Davis (2010), keamanan berarti menjaga agar data aman dan
integritas berarti menjaga agar data tetap akurat, konsisten, dan benar. Beberapa
hal untuk penjagaan data adalah :
Data Encryption
Ini mengacu pada data yang dibuat menjadi tidak dapat dibaca oleh siapapun
yang tidak memiliki kunci dekripsi yang benar.
Firewall
Firewall
merupakan alat atau sistem perangkat lunak yang digunakan untuk
menghadang akses yang tidak diijinkan kepada komputer, jaringan komputer,
atau intranet.
Anti-virus software
Tipe perangkat lunak ini membantu menjaga, mendeteksi, dan menghapus
program atau kode jahat dari komputer. Ini juga dapat membantu untuk
menghilangkan adware (perangkat lunak yang secara otomatis memulai atau
mengunduh iklan) dan spyware (kode yang memasang sendiri pada komputer
dan mengumpulkan informasi tentang pengguna tanpa pengetahuannya).
Database backups
Backup
adalah tiruan dari basis data. Ini harus dilakukan sering dan pada
interval waktu, setidaknya pada jam malam. Pada suatu kejadian kegagalan
perlengkapan atau beberapa kerusakan data, harus dapat memperbaiki basis
data yang utuh seperti yang terakhir di backup.
Mengingat untuk menjaga file backup data di lokasi yang aman dan terjaga.
Ini merupakan tindakan yang terbaik untuk menyimpan data anda pada
tempat yang terpisah dari sumber data aktual untuk menjaga dalam keadaan
yang tidak dapat diperkirakan seperti pencurian, kebakaran, atau banjir.
Password protection
Ini penting untuk membuat password yang kuat untuk komputer dan
perangkat lunak basis data. Pastikan untuk memilih basis data yang
  
37
membutuhkan keamanan login. Password yang kuat merupakan satu hal yang
sulit untuk ditebak dan harus termasuk karakter spesial seperti tanda seru atau
tanda titik, angka, dan paduan dari huruf besar dan huruf kecil.
Password harus disertakan tidak hanya pada saat anda menghidupkan
komputer, tetapi juga komputer sedang tidak aktif dalam jangka waktu yang
cukup lama.
Perangkat lunak basis data harus dapat memantau upaya login yang gagal dan
dengan siap memberikan dengan kunci ini sehingga dapat menentukan jika
seorang yang tidak diijinkan sedang mencoba mengakses data.
Log off
Ketika meninggalkan tempat kerja, jangan pernah tetap masuk kepada
komputer. Kapanpun hendak meninggalkan komputer, dengan waktu yang
sedikit, harus keluar dari perangkat lunak basis data. Ketika meninggalkan
kantor, harus menutup atau mengunci komputer sehingga yang lain tidak
dapat mengakses apapun dari komputer atau jaringan menggunakan mandat
tersebut.
Limit access
Semua pengguna harus memiliki keunikan user
id
dan password
untuk
mengakses basis data. Basis data yang baik akan memungkinkan
untuk
melihat jejak pemeriksaan terhadap apa yang dilakukan pengguna pada basis
data.
Ketika pekerja meninggalkan pekerjaannya, dengan segera mencabut semua
akses pada basis data dan jaringan komputer pada orgranisasi. Perlu juga
mengganti password yang dibagi kepada pekerja tersebut.
Akses pada fungsi basis data dan data tertentu harus dibatasi kepada apa yang
dibutuhkan pengguna terhadap pekerjaannya. Melihat basis data yang
memberikan peran dan hak berdasarkan pada keamanan.
PCI Compliance
PCI DSS (Payment Card Industry Data Security Standard) untuk tidak
menyimpan sepenuhnya nomor kartu kredit. Data sensitif harus dienkripsi
dan mengakses pada informasi harus dijaga secara tertutup. Ini untuk
menjaga dari kewajiban dan untuk menjaga informasi.
Physical Security
Penjagaan secara fisik harus dilakukan sama seperti penjagaan digital.
  
38
Logical Security
Semua koneksi pada server harus menggunakan keamanan dan
protokol
enkripsi seperti HTTPS.
2.1.10. Classical Attacks
Menurut Burtescu (2009, p. 450), Fokus penyerangan
pada basis data
perusahaan dimotivasikan oleh faktor berikut : 
Basis data merupakan informasi masal yang perusahaan gunakan untuk
bekerja;
Basis data dapat mengungkapkan data privasi dengan cara memproses data
publik.
Untuk memastikan keamanan dari basis
data, kebutuhan-kebutuhan
berikut harus dipenuhi :
Integritas fisikal dari basis data;
Integritas logikal dari basis data;
Integritas dari setiap elemen yang dibuat dari basis data;
Akses kontrol;
Identifikasi pengguna;
Ketersediaan.
Integritas fisikal dan logikal dari basis data akan membutuhkan fokus dari
upaya untuk mempertahankan integritas fisikal dari basis data, terutama
pencatatan terhadap pengrusakan.
Integritas dari setiap elemen membentuk basis data akan mengasumsikan
bahwa nilai dari setiap bidang dapat dicatat atau diganti oleh hanya pengguna
yang diberikan otorisasi dan hanya jika terdapat nilai yang benar.
Akses kontrol diselesaikan dengan pertimbangan batasan oleh
administrator basis data. DBMS akan menerapkan peraturan keamanan dari
administrator basis data. Berikut adalah kebutuhan yang perlu dipenuhi :
Keamanan server melibatkan membatasi akses terhadap penyimpanan data
dari server. Ini merupakan opsi yang paling penting yang harus
dipertimbangkan dan direncanakan sebaik-baiknya.
Koneksi terhadap basis data yaitu mengecek bahwa setiap koneksi
mengkorespondensikan pada satu pengguna yang memiliki akses pada data.
  
39
Tabel akses kontrol merupakan bentuk yang paling umum dari keamanan
basis data. Penggunaan yang tepat dari tabel akses kontrol melibatkan
kolaborasi dekat antara administrator dan pembuat awal.
Tabel pembatasan akan termasuk daftar dari subyek yang tidak pasti yang
dapat dibuka dari setiap sesi.
Alamat IP yang aman. Beberapa server harus dikonfigurasikan untuk
menerima hanya pertanyaan dari sejumlah besar yang terdapat pada daftar.
Server Oracle mengizinkan pertanyaan yang ditutup yang tidak terlibat dalam
basis data.
Pembatalan dari akun server. Kemampuan untuk menangguhkan akun
ketika mencoba menebak password setelah sejumlah upaya ditentukan.
Alat khusus. Program spesial seperti Real Secure
dari ISS yang akan
memberitahukan ketika upaya intrusi. Oracle
memiliki sekumpulan metode
otentikasi : Kerberos security; Virtual private database; Rule-based security;
Grant-execute security; Authentication servers; Port access security.
Identifikasi pengguna akan mengizinkan pada waktu yang telah diketahui
yang melakukan apapun pada sistem. Semua operasi dilakukan oleh pengguna
akan disimpan dan akan membentuk riwayat akses.
Ketersediaan akan mengizinkan kebutuhan data untuk tersedia kepada
pengguna yang terotorisasi.
2.1.11. Data Flow Diagram (DFD)
Menurut Whitten & Bentley (2007, p. 317), Data Flow Diagram
adalah 
model proses yang digunakan untuk menggambarkan aliran data melalui sistem
dan kerja atau pengolahan yang dilakukan oleh sistem.
Diagram ini mempunyai simbol-simbol yang dapat mengungkapkan
komponen-komponen dasar dari proses dan aliran sistem. Beberapa pengertian
simbol yang digunakan di dalam DFD, adalah :
Process = kerja yang dilakukan oleh sistem dalam menanggapi arus data
yang masuk atau kondisi.
  
40
Gambar  2.3 : Simbol Process
(Sumber :  Whitten & Bentley (2007))
External Agents = orang luar, unit organisasi, sistem, atau organisasi luar
yang berinteraksi dengan sistem.
Gambar 2.4 : Simbol External Agents
(Sumber :  Whitten & Bentley (2007))
Data Stores = penyimpanan data yang ditujukan untuk penggunaan
selanjutnya. Sinonimnya adalah file dan database.
Gambar 2.5 : Simbol Data Stores
(Sumber :  Whitten & Bentley (2007))
Data
Flow
= input data ke proses atau output data
(atau informasi) dari
proses. Data flow juga digunakan untuk menunjukan pembuatan, pembacaan,
penghapusan atau pembaruan data dalam file atau database.
Gambar 2.6 : Simbol Data Flow
(Sumber :  Whitten & Bentley (2007))
  
41
2.2.
Teori Khusus
2.2.1.
Definisi Financial Planning
Menurut Keown et all (2008), definisi dari perencanaan finansial adalah
pendekatan sistematik yang dimana seorang perencana finansial membantu
pelanggannya untuk memaksimalkan sumber daya finansialnya dengan cara
memanfaatkan alat finansial untuk mencapai tujuan finansialnya. Terdapat 3
komponen utama yaitu :
Financial Resources (FR).
Financial Tools (FT).
Financial Goals (FG).
Terdapat 6 tahap dalam proses perencanaan keuangan, yaitu :
Setting Financial Goals
: Seorang perencana keuangan harus menjelaskan
dan mendokumentasi layanan yang diberikan pada investor dan
mendefinisikan tanggung jawabnya selama perjanjian perencanaan keuangan.
Gathering Relevant Data : Seorang perencana keuangan harus menanyakan
informasi mengenai situasi keuangan. Investor dan perencana keuangan harus
mendefinisikan tujuan keuangan, mengerti kurun waktu untuk hasil dan
mendiskusikannya, jika relevan, harus mengetahui perasaan investor
mengenai resiko. Seorang perencana keuangan harus mengumpulkan semua
dokumen yang diperlukan sebelum memberikan saran pada investor.
Data Analysis
: Seorang perencana keuangan harus menganalisis informasi
untuk mendapatkan situasi yang sedang terjadi dan memberikan apa yang
harus dilakukan investor untuk mencapai tujuannya. Tergantung pada layanan
apa yang investor minta, ini dapat termasuk menganalisa aset, pengeluaran
dan arus kas, perlindungan asuransi, investasi atau strategi pajak.
Recommendation of Financial Plan
: Seorang perencana keuangan
harus
memberikan rekomendasi perencanaan keuangan yang memberikan tujuan,
bergantung pada informasi yang diberikan investor. Perencana keuangan
harus membujuk rekomendasi kepada investor untuk membantu investor
memahaminya sehingga dapat memilih keputusan. Perencana harus
mendengarkan kecemasan dan merevisi rekomendasi.
  
42
Implementation of Financial Plant : Investor dan perencana keuangan harus
setuju terhadap rekomendasi yang
akan digunakan. Perencana keuangan
memang yang memberikan rekomendasi, mengkoordinasikan proses dengan
investor dan profesional lainnya.
Monitoring of Financial Plan : Investor dan perencana keuangan harus setuju
terhadap siapa yang mengawasi kemajuan dengan tujuan.
Jika seorang
perencana keuangan mengawasi proses, perencan keuangan harus
melaporkan kepada investor secara periodik untuk mengulas kembali situasi
dan memberikan rekomendasi.
2.3.
Theori Khusus Menurut FPSB Indonesia
Menurut FPSB Indonesia (2006), definisi dari perencanaan keuangan adalah
proses untuk mencapai tujuan hidup seseorang melalui pengelolaan keuangan secara
ter-integrasi dan terencana. Yang termasuk dalam tujuan hidup seseorang antara lain
: menyiapkan dana pendidikan bagi anak, menyiapkan dana hari tua bagi diri dan
pasangan hidup, menyiapkan dana untuk memiliki rumah, menyiapkan warisan bagi
keluarga tercinta, menyiapkan dana untuk beribadah haji dan lain-lainnya.
Perencanaan keuangan melibatkan 6 area perencanaan keuangan, yaitu :
1.
Pengelolaan keuangan (mengelola penghasilan dan pengeluaran, mengelola harta
dan hutang).
2.
Manajemen risiko dan perencanaan asuransi.
3.
Perencanaan investasi.
4.
Perencanaan hari tua.
5.
Perencanaan pajak.
6.
Perencanaan harta waris.
Profesi atau praktisi perencanaan keuangan bisa terdiri dari para profesi atau
praktisi yang menggunakan proses perencanaan keuangan seperti berikut :
1.
Financial Planner.
2.
Independent Financial Planner.
3.
Independent Financial Advisor.
4.
Investment Advisor.
5.
Wealth Manager.
6.
Wealth Planner.
  
43
7.
Agen asuransi.
8.
Financial Advisor.