BAB 2 LANDASAN TEORI

advertisement
BAB 2
LANDASAN TEORI
2.1
2.1.1
Teori Umum
Pengertian Data
Menurut Connolly dan Begg (2005, p19), data adalah komponen yang
paling penting dalam DBMS, berasal dari sudut pandang end-user. Data
bertindak sebagai jembatan yang menghubungkan antara mesin dengan
pengguna.
Menurut Turban (2005, p38), data adalah deskripsi dasar tentang
sesuatu, kejadian, kegiatan dan transaksi yang ditangkap, direkam, disimpan,
dan diklasifikasikan, namun tidak terorganisir untuk menyampaikan arti
khusus.
Menurut Inmon (2005, p493), data adalah rekaman dari fakta, konsep,
ataupun instruksi pada sebuah media penyimpanan untuk komunikasi,
pengambilan, maupun pemrosesan dari pengertian otomatis dan presentasi dari
informasi yang dapat dimengerti oleh manusia.
7 8 2.1.2
Pengertian Basis Data
Menurut Connolly dan Begg (2005, p15), basis data adalah sekumpulan
data yang terhubung secara logikal, dan deskripsi dari data tersebut
menghasilkan informasi yang dibutuhkan oleh organisasi.
Menurut Inmon (2002, p388), basis data adalah sekumpulan data yang
saling berhubungan dan disimpan (biasanya telah terkontrol dan memiliki
redundansi yang terbatas) berdasarkan suatu skema.
2.1.3
Database Languages
1. Data Definition Language (DDL)
Menurut Connolly dan Begg (2005, p40), Data Definition
Language (DDL) adalah suatu bahasa yang memungkinkan Database
Administrator (DBA) atau pengguna untuk mendeskripsikan nama dari
entitas-entitas, atribut dan relasi yang dibutuhkan untuk aplikasi, termasuk
integritas dan keamanan datanya.
Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang
disimpan dalam file khusus yang disebut kamus data (Data Dictionary).
Menurut Connolly dan Begg (2005, p169), beberapa tahapan dari DDL,
yaitu:
a. Create Table
Untuk membuat tabel dengan mengidentifikasikan tipe data untuk tiap
kolom.
b. Alter Table
Untuk menambah atau membuat kolom dan constraint.
9 c. Drop Table
Untuk membuang atau menghapus tabel beserta semua data yang ada di
dalamnya.
d. Create Index
Untuk membuat index pada suatu tabel.
e. Drop Index
Untuk membuang atau menghapus index yang dibuat sebelumnya.
2. Data Manipulation Language (DML)
Menurut Connolly (2005, p40), Data Manipulation Language
(DML) adalah suatu bahasa yang menyediakan fasilitas pengoperasian
dasar manipulasi data pada data yang ada dalam basis data.
Pengoperasian data yang dimanipulasi antara lain :
1. Penyisipan data baru ke dalam basis data (insertion).
2. Modifikasi data yang disimpan dalam basis data (modify).
3. Pemanggilan data yang terdapat dalam basis data (retrieve).
4. Penghapusan data dari basis data (delete).
Menurut Connolly (2005, p41), kita dapat membedakan DML
menjadi dua tipe yang berbeda, yaitu :
a. Procedural DML
Procedural DML adalah suatu bahasa yang memungkinkan pengguna
(umumnya programmer) untuk memberi instruksi ke sistem mengenai
data apa yang dibutuhkan dan bagaimana cara pemanggilannya.
Artinya, pengguna harus menjelaskan operasi pengaksesan data yang
10 akan digunakan dengan menggunakan prosedur yang ada untuk
mendapatkan informasi yang dibutuhkan.
b. Non-Procedural DML
Non-Procedural DML adalah bahasa yang memungkinkan pengguna
untuk menentukan data apa yang dibutuhkan dengan menyebutkan
spesifikasinya tanpa menspesifikasi bagaimana cara mendapatkannya.
2.1.4
Database System Development Lifecycle (SDLC)
Menurut Connolly dan Begg (2005, p283), sistem basis data adalah
komponen dasar dari organisasi yang besar dengan sistem informasi yang luas.
Hal penting yang perlu diperhatikan dalam Database Application Lifecycle
adalah bahwa tingkatanya tidak sepenuhnya berurutan (sequential). Dimana
ada beberapa tingkatan yang berulang dengan alur-balik (feedback loop)
misalnya, masalah ditemukan pada tingkatan perancangan basis data yang
membutuhkan tambahan kumpulan kebutuhan dan analisis.
Database Application Lifecycle merupakan tahapan dalam merancang
suatu sistem basis data. Database Application Lifecycle digambarkan seperti
bagan berikut :
11 Database Planning
System Definition
Requirement collection
and analysis
Database design
DBMS selection
(optional)
Conceptual
database design
Application design
Logical database
design
Physical database
design
Prototyping
(optional)
Implementation
Data conversion
and loading
Testing
Operational
maintenance
Gambar 2.1 Database Application Lifecycle
12 Menurut Connolly dan Begg (2005, p285), berikut ini adalah
keterangan dari Database Application Lifecycle data diatas :
2.1.4.1 Database Planning
Menurut Connolly dan Begg (2005, p285), Database Planning adalah
aktivitas manajemen yang memungkinkan tahapan dari siklus hidup
pengembangan aplikasi basis data untuk dapat realisasikan seefisien dan
seefektif mungkin. Ada tiga persoalan pokok yang berkaitan dengan perumusan
strategi sistem informasi, antara lain :
1. Mengenali rencana dan tujuan perusahaan, kemudian menentukan
kebutuhan sistem informasi.
2. Mengevaluasi sistem informasi yang sedang berjalan untuk menentukan
kekuatan dan kelemahan.
3. Penilaian dari kesempatan teknologi informasi yang menghasilkan
kekuatan kompetitif.
2.1.4.2 System Definition
Menurut Connolly dan Begg (2005, p286), System Definition adalah
proses menspesifikasikan ruang lingkup dan batasan dari aplikasi basis data dan
user view utama. Sebelum mencoba merancang suatu aplikasi basis data,
diperlukan untuk mengenali batasan sistem dan bagaimana antarmuka dengan
bagian sistem informasi lainnya dalam organisasi.
13 2.1.4.3 Requirement Collection And Analysis
Menurut Connolly dan Begg (2005, p288), Requirement Collection and
Analisis adalah proses mengumpulkan dan menganalisa informasi yang
mendukung aplikasi basis data dan menggunakan informasi ini untuk
mengidentifikasi kebutuhan pengguna pada sistem yang baru. Fact-finding
adalah cara untuk mendapatkan informasi. Menurut Connolly dan Begg (2005,
p317), ada beberapa teknik Fact-finding :
1. Mengevaluasi dokumen.
2. Wawancara.
3. Mengamati jalannya kegiatan kerja pada perusahaan.
4. Penelitian.
5. Kuesioner.
2.1.4.4 Database Design
Menurut Connolly dan Begg (2005, p291), Database Design adalah
proses dari pembuatan sebuah rancangan yang mendukung visi dan misi
perusahaan yang dibutuhkan untuk sebuah sistem basis data. Perancangan basis
data dibagi menjadi tiga tahapan utama yaitu conceptual database design,
logical database design, dan physical database design.
14 2.1.4.4.1 Perancangan Basis Data Konseptual
Tujuan dari perancangan konseptual basis data menurut Connolly
and Begg (2005, p442) adalah untuk memproses pembentukan suatu model
yang berasal dari informasi yang digunakan dalam suatu perusahaan, yang
tidak tergantung pada segala pertimbangan fisikal.
Langkah-langkah dalam pembuatan model basis data konseptual adalah:
Langkah 1 : Membangun Model Data Konseptual
Tujuan dari langkah ini adalah untuk membangun model data
konseptual terhadap kebutuhan data suatu perusahaan.
Langkah 1.1 : Mengidentifikasi tipe entitas
Tujuan dari langkah ini adalah untuk mengidentifikasi entitas utama
yang diminta oleh user.
Langkah pertama yang diperlukan dalam membangun suatu lokal
konseptual data model adalah untuk mendefinisikan objek utama atau entitas
dimana user memang membutuhkannya. Salah satu metode untuk
mengidentifikasi tipe entitas yang utama adalah dengan mengidentifikasi
kata benda atau frase kata benda yang telah disebutkan oleh user.
Setelah tipe entitas diidentifikasi, dilakukan pemberian nama yang
berarti dan jelas kepada user. Mencatat nama dan deskripsi entitas dalam
kamus data. Apabila dimungkinkan, mendokumentasikan jumlah occurences
yang diharapkan dari tiap entitas. Jika entitas dikenal dengan nama yang
berbeda, nama tersebut menunjuk kepada sinonim atau alias yang dicatat
dalam kamus data.
15 Gambar 2.2 Contoh kamus data entity yang mendeskripsikan entity untuk
stafuser view dreamhome
Langkah 1.2 : Mengidentifikasi tipe relasi
Tujuan dari langkah ini adalah untuk mengidentifikasi relasi yang
penting antara berbagai tipe entitas yang telah diidentifikasikan. Biasanya
relasi diidentifikasi dengan menggunakan kata kerja atau frase kata kerja.
Relasi yang paling umum adalah relasi binary. Yang artinya relasi
antar entitas yang persis antara dua entitas saja. Bagaimanapun, relasi
kompleks yang melibatkan lebih dari dua entitas dan relasi rekursif yang
hanya melibatkan satu entitas harus diperhatikan.
Adapun langkah-langkah dalam mengidentifikasi tipe relasi sebagai
berikut :
a.
Menggunakan Entity-Relationship (ER) Diagram
Hal yang sering terjadi adalah user akan lebih cepat mengerti suatu
perancangan basis data dengan cara divisualisasikan dibanding dengan
perancangan basis data yang dituliskan dalam bentuk tekstual. Dalam hal ini,
ERD digunakan untuk merepresentasikan entitas dan bagaimana relasi antar
16 entitas. Oleh karena itu, sangat disarankan menggunakan ERD untuk
membantu dalam pembuatan gambaran umum dari perancangan basis data
yang sedang dikembangkan.
b. Menentukan multiplicity constraint dari tipe relasi
Setelah mendapat relasi antar entitas, maka langkah berikutnya adalah
menentukan multiplicity setiap relasi. Jika memang ada suatu nilai yang
spesifik
dari
suatu
multiplicity
maka
akan
lebih
baik
apabila
didokumentasikan.
Multiplicity constraints digunakan untuk mengecek dan memelihara
kualitas data. Constraints ini menyatakan entity ocurrences yang dapat
dimasukkan ketika database di-update untuk menentukan apakah pengupdate-an tersebut melanggar aturan enterprise atau tidak. Suatu model yang
menyertakan
multiplicity
constraints
secara
eksplisit
lebih
merepresentasikan relasi semantik dan menghasilkan representasi yang lebih
baik untuk kebutuhan data enterprise.
c.
Mengecek Fan Traps dan Chasm Traps
Setelah relasi yang dibutuhkan antar entitas didefinisikan, maka langkah
berikutnya adalah mencek fan traps dan chasm traps. Definisi dari fan traps
adalah suatu model yang merepresentasikan suatu relasi antar entitas. Tetapi
alur relasinya memperlihatkan ambiguitas. Chasm traps adalah suatu model
dimana terdapat hubungan antar entitas yang satu dengan yang lain, tetapi
tidak ada relasi antar kedua entitas yang utama.
17 d. Mengecek setiap entitas mempunyai minimal sebuah relasi
Pada pembuatan ERD, pastikan setiap entitas mempunyai minimal satu
relasi dengan entitas yang lain. Jika memang setiap entitas sudah memiliki
minimal satu relasi dengan entitas yang lain, maka langkah berikutnya
adalah memperhatikan kamus data.
e.
Mendokumentasikan tipe relasi
Setelah tipe relasi diidentifikasi, langkah selanjutnya adalah memberi
nama yang mempunyai makna dan jelas kepada user. Selain itu, juga merecord deskripsi relasi dan multiplicity constraints pada kamus data.
Gambar 2.3 Contoh kamus data Relationship yang mendeskripsikan
relationship untuk staf user view dreamhome
Langkah 1.3 : Mengidentifikasi atribut pada tiap entitas
Tujuan dari langkah ini adalah untuk mengidentifikasi dan
mengasosiasikan atribut yang sesuai dengan tipe entitas atau tipe relasi.
Atribut dapat dibagi menjadi 3 yaitu :
a.
Simple atau Composite Atribut
Salah satu hal yang penting adalah perlunya memperhatikan apakah
suatu atribut tertentu adalah simple atau composite. Composite atribut adalah
18 atribut yang dibangun dari simple atribut. Sebagai contoh, atribut alamat bisa
saja dibuat simple dan menyimpan beberapa detail dari alamat sebagai suatu
nilai.
Contohnya,
‘115
Dumbarton
Road,
Glasgow,
G11
6YG’.
Bagaimanapun juga, atribut alamat dapat pula merepresentasikan sebuah
composite atribut, yang dibuat dari simple atribut dan terdiri dari beberapa
detail alamat yang mempunyai nilai terpisah pada atribut street (‘115
Dumbarton Road’), city (‘Glasgow’), dan postcode (‘G11 6YG’). Atribut
alamat dapat dijadikan simple atribut atau composite atribut tergantung
dengan kebutuhan user.
Apabila user tidak membutuhkan pengaksesan komponen terhadap
atribut alamat secara terpisah, seperti street, city, dan postcode, maka
sebaiknya atribut alamat itu dibuat sebagai simple atribut. Sedangkan,
apabila user membutuhkan pengaksesan terhadap komponen atribut alamat
secara individual, maka sebaiknya atribut alamat tersebut dibuat sebagai
composite atribut.
b. Single atau Multi-valued Atribut
Suatu atribut, selain dapat menjadi single atau composite, dapat pula
mempunyai satu atau lebih nilai, sebagai contohnya yaitu atribut nomor
telepon. Seseorang bisa saja mempunyai nomor telepon lebih dari satu,
keadaan seperti itu dapat disebut multi-valued atribut. Tetapi apabila atribut
tertentu hanya mempunyai satu nilai maka disebut single atribut.
19 c.
Derived Atribut
Derived atribut adalah atribut yang nilainya tergantung dengan nilai
atribut yang lain. Contoh, umur seorang staff, banyaknya properti yang
dikelola oleh seorang staff, dan pinjaman deposit yang dihitung dua kali
pada pinjaman bulanannya.
Langkah 1.4 : Menentukan domain atribut
Tujuan dari langkah ini adalah untuk menentukan domain dari atribut
yang ada di dalam model data konseptual lokal.
Contoh :
¾ Domain atribut dari nomor staff (staffNo) terdiri dari lima karakter
string dimana dua karakter awal berupa huruf, sedangkan tiga karakter
berikutnya berupa angka yang berkisar dari 1-999.
¾ Nilai yang mungkin untuk atribut sex adalah ‘M’ atau ‘F’. Domain dari
atribut ini adalah karakter string tunggal yang berisi nilai ‘M’ atau ‘F’.
Langkah 1.5 : Mengidentifikasi candidate key dan primary key tiap
atribut
Tujuan dari langkah ini adalah untuk mengidentifikasi candidate key
dari setiap tipe entitas, dan jika memang terdapat lebih dari satu candidate
key, pilihlah salah satunya untuk menjadi primary key, dan yang lainnya
sebagai alternate key.
Pada saat memilih primary key diantara candidate key, gunakanlah
petunjuk berikut untuk membantu pemilihan :
¾ Merupakan candidate key dengan jumlah set atribut paling sedikit.
¾ Merupakan candidate key yang nilainya jarang sekali berubah.
20 ¾ Merupakan candidate key dengan jumlah karakter paling sedikit.
¾ Merupakan candidate key dengan nilai maksimalnya yang terkecil.
¾ Merupakan candidate key yang paling mudah digunakan dari sudut
pandang user.
Langkah 1.6 : Mempertimbangkan penggunaan konsep pemodelan
enhanced (langkah optional)
Tujuan
penggunaan
dari
langkah
konsep
ini
enhanced
adalah
untuk
modeling,
mempertimbangkan
seperti
specialization,
generalization, aggregation dan composition.
Langkah 1.7 : Mengecek model dari redundansi
Tujuan dari langkah ini adalah untuk mengecek apakah ada
redundansi
dalam
model
basis
data.
Adapun
langkah
untuk
menghilangkannya yaitu :
a. Menguji kembali relasi one-to-one (1:1);
b. Menghilangkan relasi redundansi;
c. Mempertimbangkan dimensi waktu.
Langkah 1.8 : Memvalidasi model konseptual lokal terhadap transaksi
user
Tujuan dari langkah ini adalah untuk memastikan bahwa model
konseptual lokal mendukung transaksi yang diperlukan oleh user. Pengujian
dilakukan dengan dua pendekatan yang mungkin untuk memastikan model
data konseptual mendukung transaksi yang diperlukan:
a. Mendeskripsikan transaksi;
b. Menggunakan jalur transaksi.
21 Langkah 1.9 : Me-review model data konseptual terhadap kebutuhan
user
Tujuan dari langkah ini adalah untuk me-review model data
konseptual lokal bersama user guna memastikan bahwa model yang ada
sudah merupakan representasi yang ‘benar’ dari kebutuhan data enterprise.
Sebelum mengakhiri langkah 1, perlu me-review model data
konseptual dengan user. Model data konseptual meliputi ER diagram dan
dokumentasi yang mendukung penggambaran model data. Jika terdapat
anomaly dalam model data, perlu dilakukan perubahan yang sesuai, yang
mungkin membutuhkan perulangan langkah sebelumnya. Proses ini
berlangsung terus sampai user siap untuk ‘sign off’’ model menjadi
representasi yang ‘benar’ sebagai bagian dari enterprise yang dimodelkan.
Hasil akhir dari perancangan basis data konseptual adalah
memproses pembuatan suatu model dari informasi yang akan digunakan di
dalam suatu organisasi, yang independensinya tidak tergantung pada apapun.
22 Gambar 2.4 Contoh ERD Konseptual (Connolly and Begg 2005, p457)
2.1.4.4.2 Perancangan Basis Data Logikal
Menurut Connolly and Begg (2005,p439), perancangan basis data
logikal
adalah proses membangun sebuah model data spesifik, tetapi
terlepas dari DBMS tertentu dan pertimbangan fisikal lainnya.
Menurut Connolly dan Begg (2005,p462), langkah-langkah dalam
perancangan basis data logikal adalah sebagai berikut :
23 Langkah 2 : Membangun dan Memvalidasi Model Data Logikal untuk
Setiap View
Tujuan dari langkah ini adalah untuk menerjemahkan model data
konseptual kedalam model data logikal dan kemudian memvalidasi model
tersebut untuk mengecek apakah secara struktur benar dan mendukung
transaksi yang dibutuhkan.
Langkah 2.1 : Menentukan relasi untuk model data logikal
Tujuan dari langkah ini adalah untuk membuat suatu relasi untuk
model data logikal yang merepresentasikan suatu entitas, relasi dan juga
atribut yang telah diidentifikasi. Adapun pendeskripsian bagaimana relasi
dapat diturunkan dari struktur di bawah ini yang terjadi dalam model data
konseptual antara lain:
1.
Tipe entitas kuat (Strong Entity Type)
2.
Tipe entitas lemah (Weak Entity Type )
3.
Tipe relasi binary one-to-many (1:*)
4.
Tipe relasi binary one-to-one (1:1)
5.
Tipe relasi rekursif one-to-one (1:1)
6.
Tipe relasi superclass atau subclass
7.
Tipe relasi binary many-to-many
8.
Tipe relasi kompleks
9.
Atribut multi-valued
24 Langkah 2.2 : Memvalidasi relasi dengan menggunakan normalisasi
Tujuan dari langkah ini adalah untuk memvalidasi relasi model data
logikal dengan menggunakan teknik normalisasi. Tujuan dari normalisasi
adalah:
a.
Meminimalkan jumlah atribut yang perlu untuk mendukung kebutuhan
data dari suatu perusahaan.
b.
Atribut dengan relasi logikal yang dekat (digambarkan sebagai
functional dependency) yang ditemukan dalam relasi yang sama.
c.
Meminimalkan redundansi dengan tiap atribut direpresentasikan hanya
sekali dengan pengecualian atribut yang membentuk semua atau
sebagian foreign key yang penting untuk berpartisipasi dalam relasi yang
terhubung.
Langkah 2.3 : Memvalidasi relasi terhadap transaksi user
Tujuan dari langkah ini adalah untuk memastikan bahwa relasi di
dalam model data logikal mendukung transaksi yang dibutuhkan, seperti
detail dalam spesifikasi kebutuhan user. Pada langkah ini, dilakukan
pengecekan bahwa relasi yang dibuat pada langkah sebelumnya juga
mendukung transaksi ini, dan karena itu dipastikan juga bahwa tidak ada
error dalam relasi yang telah dibuat.
Langkah 2.4 : Mengecek batasan integritas
Tujuan dari langkah ini adalah untuk mengecek batasan integritas
yang direpresentasikan dalam model data logikal. Batasan integritas
merupakan batasan yang diharapkan dapat menjaga basis data agar tidak
25 menjadi tidak lengkap (incomplete), tidak akurat (inaccurate), atau tidak
konsisten (inconsistent).
Dibawah ini terdapat enam tipe batasan integritas, antara lain :
a.
Data yang dibutuhkan;
b.
Batasan domain atribut;
c.
Multiplicity;
d.
Integritas entitas;
e.
Integritas referensial;
f.
Batasan umum.
Langkah 2.5 : Me-review model data logikal terhadap kebutuhan user
Tujuan dari langkah ini adalah untuk me-review model data logikal
dengan user untuk memastikan bahwa model tersebut sesuai dengan
representasi yang benar dari kebutuhan data perusahaan. Apabila user
merasa tidak puas dengan model tersebut maka dilakukan pengulangan
kembali langkah-langkah sebelumnya jika diperlukan.
Langkah 2.6 : Menggabungkan model data logikal kedalam model
global (langkah optional)
Tujuan dari langkah ini adalah untuk menggabungkan suatu model
data logikal lokal kedalam satu model data logikal global yang
merepresentasikan semua sudut pandang user terhadap basis data.
Pada langkah ini, hanya penting untuk rancangan basis data dengan
multiple user yang dikelola menggunakan pendekatan sudut pandang
integrasi. Untuk memfasilitasi gambaran proses penggabungan, digunakan
model data logikal lokal dan model data logikal global. Model data logikal
26 lokal merepresentasikan satu atau lebih tetapi tidak semua sudut pandang
user
terhadap basis data. Sedangkan
model
data
logikal
global
merepresentasikan semua sudut pandang user terhadap basis data. Dalam
langkah ini, dilakukan penggabungan dua atau lebih model data logikal lokal
kedalam satu model data logikal global. Aktivitas penggabungan tersebut
meliputi :
Langkah 2.6.1 : Penggabungan model data logikal lokal kedalam model
global
Tujuan dari langkah ini adalah untuk menggabungkan model data
logikal lokal kedalam satu model data logikal global. Beberapa tugas dari
pendekatan ini adalah sebagai berikut :
1.
Review nama dan isi dari suatu entitas atau relasi dan candidate key-nya.
2.
Me-review nama dan isi dari suatu relasi atau foreign key.
3.
Menggabungkan entitas atau relasi dari model data lokal.
4.
Memasukkan (tanpa penggabungan) entitas atau relasi yang unik untuk
setiap model data lokal.
5.
Menggabungkan relasi atau foreign key dari model data lokal.
6.
Memasukkan (tanpa penggabungan) relasi atau foreign key yang unik
untuk setiap model data lokal.
7.
Mengecek entitas atau relasi dan relasi atau foreign key yang hilang.
8.
Mengecek foreign key.
9.
Mengecek batasan integritas.
10. Menggambar ER global atau diagram relasi.
11. Meng-update dokumentasi. 27 Langkah 2.6.2 : Memvalidasi model data logikal global
Tujuan dari langkah ini adalah untuk memvalidasi relasi yang dibuat
dari model data logikal global dengan menggunakan teknik normalisasi dan
juga memastikan bahwa relasi yang dibuat mendukung transaksi yang
dibutuhkan, jika perlu.
Langkah 2.6.3 : Me-review model data logikal global dengan user
Tujuan dari langkah ini adalah untuk me-review model data logikal
global dengan user untuk memastikan bahwa model yang dibuat tersebut
merupakan representasi yang benar terhadap kebutuhan data perusahaan.
Langkah 2.7 : Mengecek kemungkinan pengembangan di masa depan
Tujuan dari langkah ini adalah untuk menentukan bagian mana yang
kelihatannya akan berubah ke masa depannya dan juga memperhatikan
supaya model data logikal dapat mengakomodasi perubahan tersebut.
Hasil akhir dari perancangan basis data logikal adalah merancang
suatu model informasi berdasarkan spesifik model yang ada (seperti model
relasional), tetapi tidak tergantung terhadap suatu DBMS dan perangkat
keras lainnya. Basis data logikal merancang suatu map untuk setiap lokal
konseptual data. Jika terdapat lebih dari satu pandangan user, maka model
data logikal lokal akan dikombinasikan menjadi suatu model data logikal
global yang merepresentasikan semua pandangan user dari suatu perusahaan.
28 Gambar 2.5 Contoh ERD Logikal (Connolly and Begg 2005, p489)
29 2.1.4.4.3 Perancangan Basis Data Fisikal
Menurut Connolly and begg (2005, p294), perancangan basis data
fisikal adalah suatu proses untuk mendeskripsikan pengimplementasian dari
suatu
basis
data
pada
media
penyimpanan
secondary,
dengan
mendeskripsikan relasi dasar, organisasi file, dan indeks yang digunakan
untuk mencapai keefisienan dalam mengakses data, dan batasan integritas,
serta pengukuran keamanan apapun yang berhubungan.
Langkah 3 : Menerjemahkan Model Data Logikal sesuai DBMS yang
Dituju
Tujuan dari langkah ini adalah untuk membuat suatu skema basis
data relasional dari model data logikal yang dapat diimplementasikan ke
DBMS yang dituju.
Langkah 3.1 : Merancang relasi dasar
Tujuan dari langkah ini adalah untuk memutuskan bagaimana
merepresentasikan relasi dasar yang diidentifikasi dalam model data logikal
pada DBMS yang dituju.
Untuk memulai proses perancangan basis data fisikal, pertama-tama
dapat dilakukan dengan menyatukan dan mengasimilasikan informasi
mengenai relasi yang dirancang selama perancangan basis data logikal.
Informasi yang diperlukan dapat berasal dari kamus data dan definisi relasi
yang didefinisikan menggunakan Database Design Language (DDL). Untuk
setiap relasi yang diidentifikasi pada model data logikal, dapat didefinisikan
berisi :
30 a.
Nama relasi;
b.
Daftar simple atribut dalam tanda kurung;
c.
Primary key (PK), alternate key (AK), dan foreign key (FK);
d.
Batasan
integritas
referensial
untuk
setiap
foreign
key
yang
diidentifikasi;
e.
Dari kamus data, dari setiap atributnya dapat diketahui;
f.
Domain atribut tersebut yang terdiri dari tipe data, panjang, dan
berbagai constraint pada domain tersebut;
g.
Suatu optional nilai default untuk atribut;
h.
Apakah atribut dapat diisi dengan nilai null;
i.
Apakah atribut dapat diturunkan dan jika demikian bagaimana
perhitungannya.
Gambar 2.6 Contoh DBDL untuk relasi PropertyForRent
(Connolly and Begg 2005, p499)
31 Langkah 3.2 : Merancang representasi data turunan (derived data)
Tujuan dari langkah ini adalah untuk memutuskan bagaimana
merepresentasikan suatu data turunan yang terdapat pada model data logikal
pada DBMS yang dituju.
Atribut yang nilainya didapatkan dengan mengevaluasi atribut lain
dikenal sebagai atribut turunan atau atrribut kalkulasi. Sebagai contoh :
a.
Jumlah staf yang bekerja pada suatu cabang (branch).
b.
Total gaji bulanan untuk semua staf.
c.
Jumlah properti yang di-handle oleh anggota staf.
Gambar 2.7 Contoh Relasi PropertyForRent dan staff dengan atribut
turunan noOfProperties (Connolly and Begg 2005,p500)
32 Langkah 3.3 : Merancang general constraint
Tujuan dari langkah ini adalah untuk merancang kendala umum
untuk DBMS yang dituju. Meng-update suatu relasi yang mungkin dibatasi
oleh batasan integritas yang mengatur transaksi ‘real world’ yang
direpresentasikan oleh peng-update-an tersebut. Perancangan batasan
tersebut sekali lagi tergantung pada DBMS yang dipilih. Beberapa sistem
menyediakan
fasilitas-fasilitas
dibandingkan
yang
lainnya
untuk
mendefinisikan kendala umum. Seperti langkah sebelumnya, jika sistem
tersebut mempunyai aturan sesuai aturan standar SQL, beberapa batasan
dapat diterapkan.
CONSTRAINT StaffNotHandlingTooMuch
CHECK (NOT EXISTS (SELECT staffNo
FROM PropertyForRent
GROUP BY staffNo
HAVING COUNT(*) > 100))
Langkah 4 : Merancang Organisasi File dan Indeks
Tujuan dari langkah ini adalah untuk menentukan organisasi file yang
optimal untuk menyimpan relasi dasar dan indeks yang dibutuhkan untuk
mencapai kinerja yang diharapkan. Karena itu, cara dimana relasi dan tuples
yang ada akan disimpan pada penyimpanan secondary.
Langkah 4.1 : Menganalisis transaksi
Tujuan dari langkah ini adalah untuk memahami fungsionalitas dari
suatu transaksi dimana akan dijalankan pada basis data untuk menganalisis
transaksi yang penting.
33 Gambar 2.8 Contoh Analisis Transaksi Pada Relasi
(Connolly and Begg 2005, p504)
Langkah 4.2 : Memilih organisasi file
Tujuan dari langkah ini adalah untuk menentukan organisasi file yang
efisien untuk setiap relasi dasar. Beberapa organisasi file efisien untuk bulk
loading data kedalam basis data tetapi setelah itu tidak efisien. Dengan kata
lain, kita ingin menggunakan struktur penyimpanan yang efisien untuk
mengeset basis data dan kemudian mengubahnya untuk penggunaan
operasional normal.
Karena itu, tujuan dari langkah ini adalah untuk memilih organisasi
file
yang
optimal
untuk
tiap
relasi,
jika
DBMS
yang
dituju
memperbolehkannya. Dalam banyak kasus yang ada, suatu relasional DBMS
akan memberikan sedikit bahkan tanpa pilihan dalam memilih organisasi
file, walaupun beberapa akan mempunyai indeks yang spesifik.
34 Beberapa macam organisasi file yang ada adalah sebagai berikut :
a.
Heap
b.
Hash
c.
Indexed Sequential Office Access Method (ISAM)
d.
B*-three
e.
Clusters.
Jika DBMS yang dituju tidak memperbolehkan adanya pemilihan
organisasi file, maka langkah ini dapat dihilangkan.
Langkah 4.3 : Memilih indeks
Tujuan dari langkah ini adalah untuk menentukan apakah dengan
adanya penambahan indeks akan meningkatkan kinerja dari suatu sistem.
Salah satu pendekatan untuk memilih organisasi file yang sesuai
untuk relasi yaitu menjaga agar tuple tidak berurutan dan membuat indeks
secondary sebanyak mungkin. Pendekatan lainnya yaitu untuk mengurutkan
tuple dalam relasi dengan menspesifikasi primary atau clustering indeks.
Dalam kasus ini, biasanya pemilihan suatu atribut untuk pengurutan atau
clustering pada tuple adalah sebagai berikut :
a.
Suatu atribut yang digunakan paling sering untuk operasi penggabungan
(join), yang akan membuat operasi penggabungan itu lebih efisien.
b.
Suatu atribut yang digunakan paling sering untuk mengakses suatu tuple
didalam relasi yang ada.
Apabila pengurutan atribut yang dipilih adalah kunci dari relasi,
indeks tersebut akan menjadi primary index. Sedangkan jika pengurutan
atribut yang dipilih bukan merupakan kunci dari relasi, indeks tersebut akan
35 menjadi clustering index. Setiap relasi hanya dapat mempunyai primary
index atau clustering index.
Langkah 4.4 : Mengestimasi kapasitas penyimpanan
Tujuan dari langkah ini adalah untuk mengestimasi jumlah kapasitas
disk yang akan dibutuhkan oleh basis data dalam mendukung implementasi
basis data pada penyimpanan secondary.
Seperti pada langkah sebelumnya, mengestimasi penggunaan disk
sangat bergantung pada DBMS yang dituju dan perangkat lunak yang
digunakan untuk mendukung basis data. Secara umum estimasi tersebut
dilakukan berdasarkan ukuran tiap tuple dan jumlah tuple dalam relasi.
Langkah 5 : Merancang Tampilan untuk User
Tujuan dari langkah ini adalah untuk merancang tampilan user yang
diidentifikasi selama tahap pengumpulan dan analisis kebutuhan pada Siklus
Hidup Pengembangan Sistem Basis Data.
Langkah 6 : Merancang Mekanisme Keamanan
Tujuan dari langkah ini adalah untuk merancang mekanisme
keamanan untuk basis data seperti yang telah dispesifikasikan user selama
tahap
analisis
dan
pengumpulan
kebutuhan
pada
Siklus
Hidup
Pengembangan Sistem Basis Data.
Selama tahap analisis dan pengumpulan kebutuhan pada Siklus
Hidup Pengembangan Sistem Basis Data, kebutuhan keamanan yang
spesifik harus didokumentasikan dalam spesifikasi kebutuhan sistem.
Sasaran dari tahap ini adalah untuk memutuskan bagaimana kebutuhan
keamanan ini akan direalisasikan. Beberapa sistem menawarkan fasilitas
36 keamanan yang berbeda dari sistem yang lainnya. Sekali lagi, perancang
basis data harus hati-hati terhadap fasilitas yang ditawarkan oleh DBMS
yang dituju. Relasional DBMS biasanya menyediakan dua macam
keamanan basis data antara lain :
a.
Keamanan sistem
b.
Keamanan data
Keamanan sistem menutupi pengaksesan dan penggunaan basis
data pada tingkat sistem, seperti username dan password. Sedangkan
keamanan data menutupi pengaksesan dan penggunaan objek basis data
(seperti relasi dan views) dan tindakan dimana user dapat memperoleh
objek tersebut.
Definisi dari keamanan basis data adalah suatu mekanisme yang
memproteksi basis data dari suatu kejadian baik yang disengaja maupun
tidak. Suatu basis data merupakan sumber dari perusahaan yang essential
yang perlu dilindungi dengan menggunakan suatu kontrol yang memadai.
Beberapa issue keamanan yang perlu diperhatikan :
a. Pencurian data (Theft and Fraud)
b. Kehilangan kerahasiaan data (Loss of Confidentially)
c. Kehilangan hak pribadi (Loss of Privacy)
d. Kehilangan integritas (Loss of integrity)
e. Kehilangan ketersediaan data (Loss of availability)
Hasil akhir perancangan fisikal basis data adalah suatu proses yang
mendeskripsikan suatu implementasi dari suatu basis data pada media
penyimpanan. Hal ini mendeskripsikan suatu relational dan struktur
37 penyimpanan dan metodologi pengaksesan data oleh user yang efisien,
selama batasan integritas dan pengukuran keamanan.
2.1.4.5 Pemilihan DBMS
Menurut Connoly dan Begg (2005, p288), DBMS Selection (optional)
adalah meyeleksi DBMS yang sesuai untuk mendukung aplikasi basis data.
Pemilihan DBMS dilakukan antara tahapan logical database design dan
conceptual database design. Tujuan dari pemilihan DBMS adalah untuk
kecukupan sekarang dan kebutuhan masa mendatang pada perusahaan,
membuat keseimbangan biaya termasuk pembelian produk DBMS, piranti
lunak atau perangkat keras lainnya untuk mendukung aplikasi basis data, biaya
yang berhubungan dengan perubahan dan pelatihan pegawai. Pendekatan
sederhana dalam pemilihan DBMS adalah memeriksa keistimewaan DBMS
dalam memenuhi kebutuhan. Dalam memilih produk DBMS baru, ini adalah
kesempatan untuk memastikan bahwa proses pemilihan sudah direncanakan
dan hasil yang diberikan sistem benar-benar bermanfaat bagi perusahan.
2.1.4.6 Perancangan Aplikasi
Menurut Connoly dan Begg (2005, p299), Applicattion Design adalah
perancangan antarmuka pengguna dan program aplikasi yang menggunakan
dan memproses sistem basis data. Perancangan basis data dan perancangan
aplikasi adalah aktivitas yang dilakukan secara bersamaan pada database
application lifecycle. Dalam kasus sebenarnya, tidak mungkin dapat
menyelesaikan perancangan aplikasi sebelum perancangan basis data selesai.
38 Dalam perancangan aplikasi harus memastikan semua pernyataan
fungsional dari spesifikasi kebutuhan pemakai (user requirement specification)
yang menyangkut perancangan aplikasi program yang mengakseskan basis data
dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap
isi basis data. Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan
merancang antarmuka pemakai yang tepat. Antarmuka dirancang harus
memberikan informasi yang dibutuhkan dengan cara menciptakan ‘userfriendly’.
2.1.4.7 Prototyping (Optional)
Menurut Connoly dan Begg (2005, p304), Prototyping adalah
pembuatan model kerja dari sistem basis data, yang mengizinkan perancangan
maupun pengguna untuk mengevaluasi hasil akhir sistem. Tujuan dari
pengembangan prototype aplikasi basis data adalah memungkinkan pengguna
menggunakan prototype untuk mengidentifikasi kelebihan atau kekurangan
sistem dan memungkinkan perancang untuk memperbaiki atau melengkapi
kelebihan dari aplikasi basis data baru.
Ada dua strategi prototyping yang umum digunakan yaitu requirement
prototyping dan evolutionary prototyping. Requirement prototyping yaitu
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 perbedaannya adalah prototype tetap digunakan.
39 2.1.4.8 Implementation
Menurut Connoly dan Begg (2005, p304), Implementation adalah
realisasi secara fisik dari basis data dan rancangan aplikasi. Implementasi basis
data dicapai menggunakan Data Definition Language (DDL) dari DBMS yang
terpilih atau Graphical User Interface (GUI).
2.1.4.9 Data Convertion and Loading
Menurut Connoly dan Begg (2005, p305), Data Convertion and
Loading adalah proses mengirim data dari sistem yang lama ke sistem yang
baru dan jika mungkin, mengkonversikan aplikasi yang ada untuk dijalankan
pada sistem basis data yang baru.
Tahap ini dibutuhkan ketika sistem basis data menggantikan sistem
yang lama. Pada masa sekarang, umumnya DBMS memiliki kegunaan untuk
memasukkan file ke dalam basis data baru. Biasanya membutuhkan spesifikasi
dari sumber file dan sasaran basis datanya. Kegunaan ini memungkinkan
pengembangan untuk mengkonversikan dan menggunakan aplikasi program
lama untuk digunakan oleh sistem baru. Ketika conversion and loading
dibutuhkan prosesnya harus direncanakan untuk memastikan kelancaran
transaksi dari keseluruhan operasi.
2.1.4.10 Testing
Menurut Connoly dan Begg (2005, p305), Testing adalah proses
mengeksekusi program dengan tujuan mencari kesalahan (error). Sebelum
digunakan, aplikasi basis data yang baru dikembangkan harus diuji secara
menyeluruh. Untuk mencapainya harus hati-hati dalam menggunakan
40 perancangan strategi uji dan menggunakan data asli untuk proses pengujian.
Didalam definisi ini tidak menggunakan pandangan yang biasa, testing adalah
proses demonstrasi tanpa kesalahan. Dalam kenyataan testing tidak luput dari
kesalahan, maka pengujian akan menemukan kesalahan pada program aplikasi
dan mungkin struktur basis datanya.
Di dalam merancang basis data, pemakai menggunakan sistem baru
seharusnya terlibat didalam proses testing. Situasi yang ideal untuk melakukan
uji sistem adalah menguji basis data pada perangkat keras yang berbeda, tetapi
hal ini sering tidak dilakukan. Jika data yang asli digunakan, perlu backup
untuk mengantisipasi kesalahan.
2.1.4.11 Operational Maintenance
Menurut Connoly dan Begg (2005, p306), Operational Maintance
adalah proses memonitor dan menjaga sistem setelah dilakukan instalasi. Yang
termasuk aktivitas dari tahapan pemeliharaan adalah sebagai berikut :
a. Memantau kinerja dari sistem. Jika kinerjanya menurun dibawah level yang
dapat diterima, mungkin basis data perlu diperbaiki.
b. Memelihara dan meng-upgrade sistem basis datanya (jika diperlukan).
2.1.5 Entity-Relationship Modelling (ER Modelling)
Model Entity-Relationship merupakan salah satu model yang dapat
memastikan
pemahaman
yang
tepat
terhadap
data
dan
bagaimana
penggunaannya di dalam suatu organisasi (Connolly, 2005, p342). Model ini
dimulai dengan identifikasi entitas dan relationship antar data yang harus
41 direpresentasikan di dalam model, dan kemudian ditambahkan atribut dan
setiap constraint pada entitas, relationship, dan atributnya.
Simbol – simbol ERD :
1. Entitas
Entitas adalah suatu objek yang dapat diidentifikasi dalam lingkungan
pemakai.
Simbol yang digunakan adalah :
2. Relasi
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang
berbeda.
Simbol yang digunakan adalah :
3. Garis
Garis sebagai penghubung antara relasi dengan entitas, relasi dan entitas
dengan atribut.
Simbol yang digunakan adalah :
4. Atribut
Atribut berfungsi mendeskripsikan karakter entitas (atribut yang berfungsi
sebagai key diberi garis bawah).
Simbol yang digunakan adalah :
42 Beberapa konsep dasar dalam model E-R yaitu :
2.1.5.1 Tipe Entitas
Tipe entitas adalah sekumpulan objek yang memiliki properti yang
sama, yang diidentifikasikan ke dalam organisasi karena keberadaannya yang
bebas (independent existance) (Connolly, 2005, p343). Sedangkan entity
occurance adalah sebuah objek dari suatu tipe entitas yang dapat
diidentifikasikan secara unik (Connolly, 2005, p345).
Keberadaan objek-objeknya secara fisik atau nyata (physical existance)
seperti entitas pegawai, rumah, dan pelanggan, atau secara konseptual atau
abstrak (conceptual existance) seperti entitas penjualan, pembelian, dan
peminjaman.
Setiap tipe entitas dilambangkan dengan sebuah persegi panjang yang
diberi nama dari entitas tersebut. Nama tipe entitas biasanya adalah kata benda
tunggal. Huruf pertama dari setiap kata pada nama tipe entitas ditulis dengan
huruf besar.
Gambar 2.9 Contoh Tipe Entitas (Connolly and Begg, 2005, p345)
43 Tipe entitas dapat diklasifikasikan menjadi:
a. Tipe Entitas Kuat, yaitu tipe entitas yang keberadaannya tidak tergantung
pada tipe entitas lainnya (Connolly, 2005, p354).
b. Tipe Entitas Lemah, yaitu tipe entitas yang keberadaannya bergantung pada
tipe entitas lainnya (Connolly, 2005, p355).
Gambar 2.10 Contoh Representasi Diagram Tipe Entitas Kuat dan Entitas
Lemah (Connolly and Begg 2005, p355)
2.1.5.2 Tipe Relasi
Tipe relasi adalah sekumpulan hubungan antar tipe entitas yang memiliki
arti (Connolly, 2005, p346). Sekumpulan relationship occurrence adalah sebuah
hubungan yang dapat diidentifikasikan secara unik, yang meliputi sebuah kejadian
(occurrence) dari setiap tipe entitas di dalam relasi (Connolly, 2005, p346).
Tipe relasi digambarkan dengan sebuah garis yang menghubungkan
entitas-entitas yang saling berhubungan. Garis tersebut diberi nama sesuai dengan
nama hubungannya dan diberi tanda panah satu arah disamping nama
hubungannya.
44 Biasanya sebuah relasi dinamakan dengan menggunakan kata kerja, seperti
Mengatur, atau dengan sebuah frame singkat yang meliputi sebuah kata kerja,
seperti DisewaOleh, sedangkan tanda panah ditempatkan di bawah nama relasi
yang mengindikasikan arah bagi pembaca untuk mengartikan nama dari suatu
relasi. Huruf pertama dari setiap kata pada suatu relasi ditulis dengan huruf besar.
Gambar 2.11 Contoh Representasi Diagram dari Tipe Relasi
(Connolly and Begg 2005,p347)
Tipe-tipe relasi yaitu :
a. One-to-one Relationship
Gambar di bawah ini menggambarkan relationship one-to-one antara entitas
Staff dan entitas Branch, dimana satu orang staff hanya mengontrol satu
cabang dan satu cabang hanya dikontrol oleh satu orang staff.
Gambar 2.12 Contoh Semantic Net Menunjukkan Dua Occurence dari
Relasi Pegawai Mengatur Cabang (Connolly and Begg 2005, p357)
45 b. One-to-many Relationship
Gambar berikut ini menggambarkan relationship one-to-many yang sering
terjadi antara entitas Staff dengan entitas Properti, dimana dalam relasi ini
seorang staff memungkinkan untuk mengurus
(oversees) lebih dari satu
properti, sedangkan satu properti hanya dapat diurus oleh satu staff.
Gambar 2.13 Contoh Semantic Net Menunjukkan tiga occurrence dari relasi
Pegawai Melihat Rumah Sewa (Sumber : Connolly and Begg 2005, p358)
c. Many-to-many Relationship
Gambar di bawah ini menggambarkan relationship many-to-many yang terjadi
diantara entitas Newspaper dengan entitas Property, dimana satu property
dapat dipasarkan (advertise) pada lebih dari satu koran, begitu juga satu buah
koran dapat memasarkan lebih dari satu property.
46 Gambar 2.14 Contoh Semantic net menunjukkan empat occurence dari relasi
Koran Mengiklankan RumahSewa (Sumber : Connolly and Begg 2005, p360)
2.1.5.3 Tipe Atribut
Adapun tipe-tipe atribut sebagai berikut:
a. Single valued attribute
Atribut yang hanya memiliki sebuah nilai untuk setiap occurrence dari
sebuah entitas (Connolly, 2005, p351).
b. Multi valued attribute
Atribut yang memiliki banyak nilai untuk setiap occurrence dari sebuah
entitas (Connolly, 2005, p352).
c. Derived attribute
Atribut yang nilai-nilainya diperoleh dari pengolahan atau diturunkan dari
atribut lain yang berhubungan (Connolly, 2005, p352).
47 2.1.5.4 Keys
Candidate key adalah himpunan atribut minimal yang secara unik
mengidentifikasikan setiap occurrence dari sebuah tipe entitas (Connolly, 2005,
352).
Composite key adalah sebuah candidate key yang terdiri atas dua atau
lebih atribut (Connolly, 2005, p353).
Primary key adalah candidate key yang terpilih untuk
mengidentifikasikan secara unik setiap occurrence dari sebuah tipe entitas
(Connolly, 2005, p353). Pada sebuah tipe entitas biasanya terdapat lebih dari
satu candidate key yang salah satunya harus dipilih untuk menjadi primary key.
Pemilihan primary key didasarkan pada panjang atribut, jumlah minimal atribut
yang diperlukan dan keunikannya.
Alternate key adalah setiap candidate key yang tidak terpilih menjadi
primary key, atau biasa disebut dengan secondary key (Connolly, 2005, p79).
Foreign key adalah sebuah primary key pada sebuah entitas yang
digunakan pada entitas lainnya untuk mengidentifikasikan sebuah relationship
(Connolly, 2005, p79).
48 Gambar 2.15 Representasi Diagram Entitas Pegawai dan Cabang Beserta
Atribut dan Primary Key-nya (Connolly and Begg 2005, p354)
2.1.6
Normalisasi
Menurut Connolly dan Begg (2005, p388), Normalisasi adalah sebuah
teknik untuk menghasilkan kumpulan relasi atau hubungan dengan propertiproperti yang diinginkan, yang memberikan kebutuhan data dari suatu
perusahaan. Karakteristik dari kumpulan relasi yang cocok harus meliputi :
1. Meminimalisasi jumlah atribut yang dibutuhkan untuk mendukung
kebutuhan data perusahaan.
2. Atribut dengan relasi logikal yang berdekatan ditemukan pada relasi yang
sama.
3. Meminimalisasi redudansi dengan setiap atribut direpresentasikan hanya
sekali dengan pengecualian untuk atribut yang membentuk semua atau
sebagian dari foreign key.
49 2.1.6.1 Bentuk Normal Pertama (First Normal Form / 1NF)
Unnormalized form (UNF), sebuah tabel yang berisi satu atau lebih
kelompok yang berulang (repeating group). Yang dimaksud kelompok
yang berulang itu adalah atribut-atribut yang multivalued.
Normalisasi
pertama (1NF), menghilangkan perulangan. Sebuah relasi dimana setiap
baris dan kolom berisi satu nilai saja. Bentuk normal pertama ini, dicapai
apabila setiap nilai atribut adalah tunggal. Kondisi ini dapat diperoleh
dengan melakukan eliminasi terhadap terjadinya data ganda (repeating
groups). Pada kondisi normal pertama ini kemungkinan masih terjadi
adanya data rangkap.
2.1.6.2 Bentuk Normal Kedua (Second Normal Form / 2NF)
Menurut Connolly dan Begg (2005, p407) aturan normalisasi kedua
(2NF) dapat dikatakan bahwa sebuah relasi dalam bentuk 1NF dan setiap
atribut bukan primary key. Normalisasi dari 1NF ke 2NF melibatkan
penghapusan ketergantungan parsial.
2.1.6.3 Bentuk Normal Ketiga (Third Normal Form / 3NF)
Menurut Connolly dan Begg (2005, 409), aturan normalisasi ketiga
(3NF) adalah sebuah relasi dalam bentuk 1NF dan 2NF dimana tidak ada
ketergantungan transitif antara atribut non-primary key dengan primary
key.
50 2.1.6.4 Bentuk Normal Boyce-Codd (Boyce-CoddNormal Form/ BCNF)
Menurut Connolly dan Begg (2005, p419) aturan normalisasi boycecodd (BCNF) adalah sebuah relasi jika dan hanya jika setiap determinan adalah
candidate key.
2.1.7
Data Flow Diagram (DFD)
Menurut McLeod (2001,p401), Data Flow Diagram (DFD) adalah
representasi grafis dari sistem yang menggunakan sejumlah simbol-simbol
untuk mengilustrasikan bagaimana aliran data melewati proses-proses yang
saling berhubungan.
2.1.7.1 Simbol dalam DFD
Gambar aliran data sebagai modeling tool dengan menggunakan
pendekatan metode analisis sistem terstruktur. DFD dapat digunakan untuk
mempresentasikan suatu sistem yang otomatis maupun manual dengan DFD
menggunakan simbol :
1) Entitas Eksternal (Terminal)
Entitas yang berada diluar sistem , yang memberikan data kepada sistem
(source) atau yang menerima informasi dari sistem (sink). Entitas eksternal
tidak termasuk dalam sistem.
Simbol yang digunakan :
51 2) Proses
Menggambarkan apa yang dilakukan oleh sistem. Proses berfungsi untuk
mentransformasikan suatu atau beberapa data masukkan menjadi satu atau
beberapa data keluaran sesuai dengan spesifikasi yang digunakan. Setiap
proses memliki satu atau beberapa data masukkan serta menghasilkan satu
atau beberapa data keluaran. Proses sering juga disebut bubble.
Simbol yang digunakan :
3) Data Flow
Menggambarkan aliran data dari suatu entitas ke entitas lainnya. Tanda
panah menggambarkan aliran data yang terjadi bisa antara dua proses yang
berurutan, dari data store ke process atau sebaliknya dari process ke sink.
Simbol yang digunakan :
4) Data Store
Data store berfungsi untuk sebagai tempat penyimpanan data. Yaitu proses
dapat mengambil data atau memberikan data ke data store.
Simbol yang digunakan :
52 2.1.7.2 Tingkatan pada DFD
Dalam Data Flow Diagram memiliki beberapa tingkatan. Tingkatan ini
untuk menjelaskan diagram-diagram agar terlihat lebih jelas dan rinci.
Tingkatan-tingkatan dalam DFD dijelaskan dibawah ini:
1. Diagram Konteks
Menggambarkan seluruh input ke atau output ke sistem. Diagram konteks
ini merupakan level tertinggi dari DFD.
Gambar 2.16 Contoh Diagram Konteks
53 2. Diagram Nol
Menggambarkan proses-proses penting yang ada pada sistem yang
dianalisis dan yang akan dibuat.
Gambar 2.17 Contoh Diagram Nol
54 3.
Diagram Rinci
Menggambarkan proses-proses yang lebih rinci dari diagram nol mengenai
sistem yang dianalisis dan yang akan dirancang.
Gambar 2.18 Contoh Diagram Rinci
55 2.1.8
Microsoft SQL Server 2008
Menurut Ross Mistry (2009), SQL SERVER 2008 adalah platform
database organisasi terpercaya yang menyediakan keunggulan kompetitif
dengan memungkinkan pengguna untuk mendapatkan hasil yang lebih cepat
dan dengan demikian membuat keputusan bisnis yang lebih baik.
2.1.9
Microsoft Visual Basic
Microsoft Visual Basic merupakan sebuah bahasa pemrograman yang
menawarkan Integrated Development Environment (IDE) visual untuk
membuat program perangkat lunak berbasis sistem operasi Microsoft Windows
dengan menggunakan model pemrograman (COM), Visual Basic merupakan
turunan bahasa pemrograman BASIC dan menawarkan pengembangan
perangkat lunak komputer berbasis grafik dengan cepat. 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. Para programmer dapat membangun aplikasi dengan
menggunakan komponen-komponen yang disediakan oleh Microsoft Visual
Basic Program-program yang ditulis dengan Visual Basic juga dapat
menggunakan Windows API, tapi membutuhkan deklarasi fungsi luar
tambahan. Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa
pasar yang sangat luas.
Menurut Burrows (2000, p7), Visual Basic (VB) adalah sebuah
program yang didesain khusus untuk memfasilitasi kebutuhan programmer
dalam pengembangan sebuah program baru. Visual Basic menyediakan dua hal
56 untuk digunakan oleh programmer, yaitu programming tools yang digunakan
oleh programmer untuk menentukan komponen-komponen didalam program
yang sedang dibuat, dan programming language yang memungkinkan
programmer untuk membuat perintah-perintah untuk dikerjakan oleh program
yang sedang dibuat.
2.2
Teori Khusus
Dalam teori khusus, kami membahas semua hal yang berhubungan
dengan topik skripsi yang meliputi pengertian logistik dan pengertian pengadaan
yang akan dijelaskan secara ringkas seperti di bawah ini.
2.2.1 Pengertian Logistik
Logistik telah dikenal di kalangan masyarakat luas baik dalam
lingkungan masyarakat luas baik dalam lingkungan lembaga-lembaga maupun
instansi, yang biasanya menggunakan istilah-istilah yang berbeda, misalnya :
a. Biro Material
b. Biro Pembekalan
c. Biro Pemeliharaan
d. Biro Pengadaan
Pengertian logistik menurut H. Subagya M. Suganda pada hakekatnya
mencakup tiga pengetahuan dasar, yaitu :
1. Luas ruang lingkup (scope) yang mencakup segi-segi khusus tertentu
adminstrasi militer.
57 2. Kedudukannya disamping sejajar dengan ilmu strategi dan ilmu taktik,
logistik juga merupakan kegiatan utama ketiga dari seni militer (the third
major branch of the military art).
3. Arti asalnya, pandai dalam mengadakan atau merumuskan perkiraanperkiraan. (Suganda, Manajemen Logistik, 1988 : 8)
Maka dapat ditarik kesimpulan, bahwa logistik merupakan suatu ilmu
pengetahuan atau seni serta proses mengenai perencaanaan dan penentuan
kebutuhan, pengadaan, penyimpanan, penyaluran dan pemeliharaan serta
penghapusan material-material atau alat-alat.
2.2.2
Pengertian Pengadaan
Menurut Keputusan Presiden No. 80 tahun 2003, BAB 1, pasal 1,
Pengadaan barang pemerintah adalah kegiatan pengadaan barang yang dibiayai
dengan APBN/APBD baik yang dilaksanakan sendiri oleh pengguna barang
atau pihak lain.
Download