6
BAB 2
LANDASAN TEORI
2.1 Teori-teori Basis Data
Berikut ini akan dijelaskan tentang teori-teori basis data, yaitu mulai dari
pengertian
sistem basis
data,
siklus
hidup
aplikasi
basis
data
sampai
pada
tahapan
perancangan basis data.
2.1.1 Sistem Basis Data
Berikut
ini
akan
dijelaskan
pengertian
sistem basis
data,
dimulai
dari
pengertian sistem, pengertian basis data, sampai pada pengertian sistem basis data itu
sendiri.
2.1.1.1 Pengertian Sistem
Menurut Fathansyah (2002, p9) sistem adalah tatanan (keterpaduan) yang
terdiri atas sejumlah komponen fungsional (dengan satuan fungsi atau tugas
khusus)
yang
saling
berhubungan
dan
secara bersama-sama
bertujuan
untuk
memenuhi suatu proses atau pekerjaan tertentu.
Menurut Kamus Umum Bahasa Indonesia (Poerwadarminta 1991, p955)
sistem diartikan menjadi tiga, yaitu :
1.   Sekelompok
bagian-bagian
(alat)
yang
bekerja
bersama-sama
untuk
melakukan sesuatu maksud.
2.   Sekelompok
dari pendapat,
peristiwa
kepercayaan yang
disusun
dan
diatur
baik-baik.
3.   Cara (metode) yang teratur untuk melakukan sesuatu.
  
7
Dari definisi diatas, dapat disimpulkan bahwa sistem adalah sekelompok
bagian-bagian yang saling berhubungan dan bekerja bersama-sama untuk
melakukan sesuatu.
2.1.1.2 Pengertian Basis Data
Menurut Connolly & Begg (2002, p14) basis data adalah kumpulan data
yang
secara
logika berhubungan,
dan
merupakan
gambaran
dari
data
tersebut,
dan dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi.
Menurut Fathansyah (2002, p2) basis data adalah kumpulan data yang
saling
berhubungan
yang disimpan
secara bersama sedemikian rupa dan tanpa
pengulangan  (redundansi)  yang  tidak  perlu,  untuk  memenuhi  berbagai
kebutuhan.
Menurut Kristanto (1994, p3) basis
data merupakan kumpulan file-file
yang mempunyai kaitan antara satu file dengan yang lain sehingga membentuk
satu
bangunan
data
untuk
menginformasikan satu perusahaan, instansi dalam
batasan tertentu.
Dari definisi diatas, dapat disimpulkan bahwa basis data adalah kumpulan
data
yang
saling berhubungan
dan disimpan
secara
bersama
untuk
memenuhi
kebutuhan informasi dari suatu organisasi.
2.1.1.3 Pengertian Sistem Basis Data
Menurut
Silberschatz
(1986,
p1)
sistem basis
data
dirancang
untuk
mengatur
sekumpulan
informasi.
Pengaturan
data
meliputi
ketentuan struktur
untuk 
penyimpanan 
informasi 
dan 
ketetapan 
mekanisme 
untuk 
manipulasi
  
8
informasi.
Sistem basis
data
harus
menyediakan
informasi
yang
aman
untuk
disimpan
dalam basis
data,
meskipun
sistem rusak
ataupun
usaha
akses
bagi
yang tidak memiliki hak.
Menurut Connolly & Begg (2002, p4) sistem
basis
data
merupakan
kumpulan dari aplikasi-aplikasi program yang berinteraksi dengan basis data.
Menurut
Fathansyah
(2002,
p9)
sistem basis
data
adalah
sistem yang
terdiri atas kumpulan
file (tabel) yang saling berhubungan
(dalam sebuah basis
data di sebuah sistem komputer) dan sekumpulan program yang memungkinkan
beberapa
pemakai
dan/atau
program
lain
untuk
mengakses
dan
memanipulasi
file-file (tabel-tabel) tersebut.
Dari definisi
diatas,
dapat
disimpulkan
bahwa
sistem basis data
adalah
kumpulan
aplikasi
program yang
berinteraksi
dengan
basis
data
dan
memungkinkan pemakai dan atau program lain untuk mengakses dan
memanipulasinya serta menyediakan informasi yang aman untuk disimpan dalam
basis data.
2.1.2 Siklus Hidup Aplikasi Basis Data (Database Application Lifecycle)
Tahap-tahap siklus hidup aplikasi basis data menurut Connolly and Begg (2002,
p270) adalah:
  
9
,.
Perencanaan basis
data
(Database Planning)
··············
Definisi Sistem
(System Defin ion)
·:c::::::::::::::::I
Pengumpulan Kebutuhan
dan Analisis (Requirement
Collection
and Analysis)
Rancangan Basis Data (patabase Design)
Rancangan Basis Dala
Konseptual
(ConceptualDatabase
Design)
Memilih DBMS
Rancangan Aplikasi
(DBMS Selection)
(Applicarion Design)
Rancangan Basis Dala
Logikal
;
':'.'':'.'':'.'':":·:·:···
(LogicalDatabase Design)
;;.;;;.;;;.;;;.;;;.;;;.;;;.;;·
.
...
...
"
Rancangan Basis Dala
Fisikal
(PhysicalDatabase
Design)
..r.
Prototyping
lmplementasi
(pilihan)
(Implementation)
KonversiData
dan
Loading
(Data Conversion
and Loading)
T
 
l i
i
I
Pemeliharaan
Operasional
(Operational
Maintenance)
Gambar
2.1
Sildus
Hidup
Aplikasi
Basis Data
Sumber:CoiUlolly
&
Begg(2002), p272
  
10
2.1.2.1 Perencanaan basis data (Database planning)
Kegiatan utama
dari
perencanaan basis data
adalah
merencanakan
bagaimana tahapan dalam siklus hidup dapat diwujudkan seefisien dan seefektif
mungkin.
Langkah
pertama
dalam perencanaan
basis
data
adalah
menentukan
pernyataan misi untuk proyek basis data. Pernyataan misi mendefinisikan tujuan
dari aplikasi
basis
data.
Langkah selanjutnya
adalah
menentukan
tujuan
misi.
Tiap tujuan misi harus menentukan tugas yang harus ada didalam basis data.
Perencanaan basis data juga meliputi perkembangan yang mengatur
bagaimana data akan dikumpulkan, bagaimana format harus dikhususkan,
dokumentasi apa yang dibutuhkan, dan bagaimana rancangan dan implementasi
akan dijalankan.
2.1.2.2 Definisi sistem (System Definition)
Menurut Connolly & Begg (2002, p274) kegiatan
utama definisi sistem
adalah
menentukan
ruang
lingkup
dan
batasan dari aplikasi basis data dan
pandangan
utama
pemakai.
Sebelum
kita
mencoba
untuk
merancang
aplikasi
basis data, pertama-tama kita harus menentukan ruang lingkup sistem yang akan
kita  selidiki.  Sangatlah  penting  bagi  kita 
untuk  tidak 
hanya 
memasukkan
pemakai
yang
sekarang dan
lingkungan
aplikasi,
tapi
juga perlu
memasukkan
pemakai mendatang dan aplikasinya kedalam ruang lingkup sistem.
2.1.2.3 Pengumpulan kebutuhan dan analisis (Requirement collection and
analysis)
  
11
Pengumpulan kebutuhan dan analisis merupakan proses mengumpulkan dan
menganalisis
informasi tentang bagian dari perusahaan
yang harus
didukung oleh
aplikasi 
basis 
data, 
dan 
menggunakan 
informasi 
ini 
untuk 
mengidentifikasi
kebutuhan pemakai dari sistem yang baru.
Ada
beberapa
teknik
dalam mengumpulkan
informasi
untuk
perusahaan,
salah
satu
diantaranya
adalah
teknik fact-finding.
Informasi
yang
diperoleh
untuk
setiap pandangan pemakai meliputi:
Gambaran tentang data yang digunakan atau yang dihasilkan.
Keterangan tentang bagaimana data digunakan atau dihasilkan.
Kebutuhan tambahan yang diperlukan untuk aplikasi basis data yang baru.
Informasi ini kemudian akan dianalisis untuk mengidentifikasi kebutuhan yang akan
dimasukkan ke dalam aplikasi yang baru.
Ada tiga pendekatan untuk mengatur kebutuhan aplikasi basis data untuk
pemakai yang banyak, yaitu:
Pendekatan terpusat
Kebutuhan  untuk  setiap  pemakai  digabung  kedalam  sekumpulan  kebutuhan
untuk aplikasi basis data yang baru.
Pendekatan penggabungan pandangan
Kebutuhan untuk setiap pemakai digunakan untuk membangun data model yang
terpisah untuk menggambarkan pandangan pemakai itu sendiri. Data model yang
dihasilkan kemudian akan digabung didalam tahap perancangan basis data.
Campuran dari keduanya
  
12
2.1.2.4
Perancangan Basis Data (Database design)
Berdasarkan Connolly & Begg (2002, p279) perancangan
basis data
merupakan
proses
pembuatan
sebuah rancangan untuk basis data yang akan
mendukung operasi dan tujuan perusahaan. Ada dua pendekatan utama dari
perancangan basis data:
Pendekatan Bottom-up
Cocok untuk rancangan basis data yang sederhana dengan sejumlah kecil atribut.
Akan tetapi, pendekatan ini
menjadi sulit ketika diterapkan kedalam rancangan
basis data yang rumit dengan sejumlah besar atribut, dimana
akan sulit
untuk
menentukan ketergantungan fungsional antara atribut-atribut tersebut.
Pendekatan Top-down
Merupakan pendekatan yang cocok untuk
rancangan basis data yang rumit.
Pendekatan ini dimulai dengan perkembangan data model yang mengandung
beberapa entity dan hubungan dan kemudian menerapkan top-down untuk
menentukan entity dan hubungan tingkat yang lebih rendah. Pendekatan ini
digambarkan dengan menggunakan konsep dari ER(Entity
Relationship)
model.
Ada tiga
tahap dalam perancangan basis data
yaitu rancangan basis data
konseptual (Conceptual database design), rancangan basis data logikal (Logical
database design), rancangan basis data fisikal (Physical database design)
2.1.2.5 Memilih DBMS (DBMS Selection)
  
13
3.   Evaluasi Produk
Pada tahap ini, memilih DBMS yang cocok untuk mendukung aplikasi
basis data. Pendekatan sederhana untuk memilih DBMS adalah untuk mengecek
fitur DBMS berdasarkan kebutuhan. Dalam memilih produk
DBMS
yang baru,
ada
kesempatan
untuk
memastikan
bahwa
proses
pemilihan
telah direncanakan
dengan baik, dan sistem tersebut mengirim keuntungan pada perusahaan. Berikut
merupakan langkah untuk memilih DBMS :
1.   Tentukan waktu referensi belajar
Waktu referensi untuk memilih DBMS dibangun, menyatakan tujuan dan
ruang lingkup dari belajar, dan tugas yang perlu dilakukan. Dokumen ini juga
harus meliputi gambaran kriteria yang digunakan untuk mengevaluasi produk
DBMS, dan semua batasan yang dibutuhkan serta waktu untuk belajar.
2.   Buat daftar dua atau tiga produk
Kriteria yang dianggap penting untuk implementasi yang berhasil, dapat
digunakan
untuk
menghasilkan
daftar awal
produk
DBMS
yang digunakan
untuk evaluasi. Contoh, keputusan untuk memasukkan produk
DBMS
akan
tergantung
pada
budget
yang tersedia,
tingkat
dukungan
vendor,
kompatibilitas dengan software yang lain. Informasi tambahan produk dapat
diperoleh dengan menghubungi pemakai yang sudah ada yang akan
menyediakan keterangan tentang seberapa bagusnya dukungan vendor,
tentang bagaimana produk mendukung aplikasi tertentu. Berdasarkan
pemahaman tentang fungsi dan fitur produk DBMS, maka daftar pendek dari
dua atau tiga produk akan ditentukan.
  
14
2.1.2.7 Prototyping
Ada berbagai fitur yang dapat digunakan untuk mengevaluasi produk DBMS.
Untuk  tujuan  evaluasi,  fitur  ini  dapat  dinilai  secara  kelompok  (contoh,
definisi data) atau secara individu (contoh, jenis data yang tersedia).
4.   Merekomendasikan pilihan dan menghasilkan laporan
Tahap akhir dari memilih DBMS adalah mendokumentasikan proses dan
menyediakan
pernyataan penemuan dan
rekomendasi
untuk
produk
DBMS
tertentu.
2.1.2.6 Rancangan aplikasi (Application design)
Menurut Connolly & Begg (2002, p287), rancangan aplikasi
merupakan
rancangan
antarmuka
pemakai
dan
program aplikasi
yang
menggunakan
dan
memproses
basis
data.
Dalam banyak
kasus,
tidak
mustahil
untuk
melengkapi
rancangan aplikasi sampai rancangan basis data itu sendiri mengambil tempat.
Disisi lain, basis data ada untuk mendukung aplikasi, sehingga harus ada arus
informasi antara rancangan aplikasi dan rancangan basis data.
Kita
harus
memastikan bahwa
fungsi
yang
dinyatakan pada
spesifikasi
kebutuhan pemakai berada di dalam rancangan aplikasi untuk aplikasi basis data.
Hal ini melibatkan perancangan program aplikasi yang mengakses basis data dan
perancangan transaksi. Sebagai tambahan untuk merancang bagaimana fungsi
yang diperlukan diperoleh, kita harus merancang antarmuka pemakai yang cocok
untuk aplikasi basis data.
  
15
Menurut Connolly & Begg (2002, p291) Prototyping
merupakan proses
membangun model kerja dari aplikasi basis data. Prototype merupakan model
kerja yang secara normal tidak mempunyai semua fitur yang dibutuhkan atau
menyediakan
semua
fungsi
dari
sistem akhir.
Tujuan
dari
pengembangan
prototype aplikasi basis data adalah untuk memperbolehkan pemakai
menggunakan prototype dalam mengenali fitur sistem yang bekerja dengan baik,
dan jika mungkin untuk menyarankan perbaikan atau bahkan fitur baru bagi
aplikasi basis data. Ada dua strategi prototyping yang umum digunakan saat ini:
Requirement   prototyping  
menggunakan  
prototype  
untuk  
menentukan
kebutuhan
aplikasi
basis
data
yang
diusulkan
dan
sekali kebutuhan telah
lengkap, prototype dibuang.
Evolutionary
prototyping
digunakan
untuk tujuan
yang
sama,
perbedaannya
adalah
bahwa  
prototype  
tidak   dibuang   tapi   dengan  
pengembangan
selanjutnya akan menjadi aplikasi basis data yang berjalan.
2.1.2.8 Implementasi (Implementation)
Menurut Connolly & Begg (2002,
p292) Implementasi merupakan
perwujudan fisik dari basis data dan rancangan aplikasi. Implementasi basis data
diperoleh menggunakan DDL dari DBMS yang dipilih atau GUI, yang
menyediakan fungsi sama
ketika menyembunyikan pernyataan DDL tingkat
rendah. Pernyataan DDL digunakan untuk membuat struktur basis data dan file
basis data kosong.
  
16
Program aplikasi diterapkan dengan menggunakan generasi bahasa ketiga
atau keempat. Bagian dari program aplikasi ini adalah transaksi basis data, yang
diterapkan dengan menggunakan DML dari sasaran DBMS.
Keamanan dan pengaturan penyatuan untuk aplikasi juga
diimplementasikan. Beberapa pengaturan ini diimplementasikan menggunakan
DDL, tapi yang lain akan didefinisikan diluar penggunaan DDL.
2.1.2.9 Konversi data dan loading (Data conversion and loading)
Menurut Connolly & Begg (2002, p292)
Konversi
data
dan
loading
mengirim data yang ada ke dalam basis data baru dan
mengubah aplikasi
yang
ada untuk dijalankan pada aplikasi basis data yang baru. Tahap ini hanya
diperlukan  ketika  sistem  aplikasi  basis  data  baru  menggantikan  sistem  yang
lama. Sekarang
ini,
sangatlah umum bagi
DBMS
untuk
mempunyai
perangkat
yang
mengisi
file
yang
ada
kedalam basis
data
baru.
Perangkat
biasanya
memerlukan
spesifikasi
dari
sumber
file dan
basis data
sasaran,
dan
kemudian
secara
otomatis
mengubah data
ke
format yang
diperlukan dari file basis data
yang baru.
2.1.2.10 Testing
Menurut Connolly & Begg (2002, p293)
Testing merupakan proses
menjalankan
program aplikasi
dengan
maksud
untuk
menemukan
kesalahan.
Sebelum dijalankan, aplikasi basis data
yang baru
harus diuji. Hal
ini diperoleh
dengan
menggunakan
strategi
uji
yang
direncanakan
dengan
hati-hati dan data
nyata sehingga keseluruhan proses testing dapat dijalankan.
  
17
Pada  kenyataannya,  testing  tidak  dapat  menunjukkan  kehadiran
kesalahan; hanya dapat menunjukkan bahwa kesalahan software ada. Sebagai
keuntungan tambahan, testing menunjukkan bahwa basis data dan program
aplikasi nampak berjalan menurut spesifikasi mereka dan kebutuhan penampilan
mereka
nampak
terpenuhi.
Setelah
testing
selesai,
sistem aplikasi siap untuk
diberikan kepada pemakai.
2.1.2.11 Pemeliharaan operasional (Operational maintenance)
Menurut Connolly & Begg (2002, p293) Pemeliharaan operasional adalah
proses
pengawasan
dan
menjaga
sistem mengikuti
instalasi.
Pada
tahap
sebelumnya, aplikasi basis data telah diimplementasikan dan diuji.
2.1.3 Tahapan dalam perancangan basis data
Dalam merancang suatu basis data, ada
tiga
tahap
yang
harus dilakukan
yaitu
rancangan
konseptual,
rancangan
logikal
dan
rancangan
fisikal. Berikut ini
merupakan penjelasan singkat tentang langkah-langkah dari tahap dalam merancang
basis data.
2.1.3.1 Rancangan basis data konseptual (Conceptual database design)
Rancangan basis data konseptual merupakan proses
membangun
model
informasi
yang
digunakan
dalam perusahaan,
bebas
dari
semua
pertimbangan
fisik.
Tahap
ini
melibatkan pembuatan model konseptual. Data model dibangun
dengan
menggunakan
informasi
yang
didapatkan
dalam spesifikasi
kebutuhan
pemakai.  Langkah-langkah  dalam  membangun  data  model  konseptual  lokal
untuk tiap pandangan adalah:
  
18
1.   Identifikasi tipe entitas
2.   Identifikasi tipe relasional
3.   Identifikasi dan Asosiasi atribut dengan entitas atau relasional.
4.   Tentukan domain atribut
5.   Tentukan atribut dari kandidat dan primary key
6.   Pertimbangkan penggunaan konsep enhanced modeling (pilihan)
7.   Periksa model dari redudansi
8.   Validasi model konseptual lokal berdasarkan transaksi pemakai
9.   Ulangi data model konseptual lokal dengan pemakai.
2.1.3.2 Rancangan basis data logikal (Logical database design)
Menurut Connolly & Begg (2002, p281) rancangan basis data logikal
merupakan proses membangun model informasi yang digunakan dalam
perusahaan berdasarkan pada data model khusus, tapi bebas dari DBMS tertentu
dan pertimbangan fisik lainnya. Data model konseptual yang kita dapatkan dari
tahap sebelumnya, diperbaiki dan dipetakan kedalam data model logikal.
Menurut
Kristanto
(1994,
p45)
data
model
logikal
adalah
satu
teknik
untuk
menjelaskan
dengan
baik
struktur informasi
bisnis
dan
aturan-aturan
sebagai masukan pada proses perancangan basis data.
Kriteria untuk mendapatkan data model logikal yang paling optimal:
Kebenaran   struktur.   Konsistensi   dengan   jalur   definisi   bisnis   dan
informasi organisasi.
  
19
Kemudahan.  Mudah  untuk  dimengerti  oleh  orang  yang  tidak  punya
pendidikan
khusus
atau
pemakai
sistem yang
bukan
profesional
di
komputer.
Tidak  redudansi.  Tidak 
mempunyai 
informasi 
yang  berlebihan  yang
ditulis berkali-kali, usahakan untuk satu potong informasi hanya disimpan
benar-benar di satu tempat, tidak di beberapa tempat.
Dapat
dipakai
bersama
(sharebility).
Kondisi
data
sangat
tidak
spesifik
dan
hanya
dapat
dibaca
oleh
satu dua
aplikasi
atau
teknologi,
namun
diharapkan dapat diakses oleh beberapa aplikasi dan teknologi.
Mudah dikembangkan (extensibility). Mampu untuk menerima kebutuhan
baru dengan akibat yang ringan terhadap perubahan data dasarnya.
Kesatuan (integrity). Konsistensi dengan jalur bisnis
yang digunakan dan
pengelolaan informasi.
Dalam  setiap  bagian  dari  proses  pengembangan  data  model  logikal,
model akan diuji dan divalidasi berdasarkan kebutuhan pemakai. Teknik
normalisasi
digunakan
untuk
menguji
kebenaran dari data model logikal.
Normalisasi
menjamin bahwa hubungan yang diturunkan dari data
model tidak
akan menunjukkan redudansi, yang dapat menyebabkan update anomalies ketika
diimplementasikan.  Data  model  logikal  merupakan  sumber  informasi  untuk
tahap selanjutnya, yaitu rancangan basis data fisikal.
Langkah-langkah  dalam  membangun  dan 
validasi  data 
model 
lokal
logikal untuk tiap pandangan:
1.   Pindahkan fitur yang tidak kompatibel dengan model relasional (pilihan).
  
20
2.   Turunkan relasi untuk data model logikal lokal.
3.   Validasi relasi menggunakan normalisasi.
4.   Validasi relasi berdasarkan transaksi pemakai.
5.   Definisikan batasan integritas.
6.   Ulangi data model logikal lokal dengan pemakai.
Langkah-langkah dalam membangun dan validasi data model logikal
global:
1.   Gabung data model logikal kedalam model global.
2.   Validasi data model logikal global.
3.   Periksa untuk pertumbuhan selanjutnya.
4.   Ulangi data model logikal global dengan pemakai.
2.1.3.2.1 Normalisasi
Menurut Fathansyah (2002, p39) normalisasi merupakan pendekatan
dalam membangun rancangan basis data
relasional
yang
tidak secara
langsung
berkaitan dengan model data, tetapi dengan menerapkan sejumlah aturan dan
kriteria standar untuk menghasilkan struktur tabel yang normal.
Menurut Connolly & Begg (2002, p376) normalisasi adalah teknik untuk
menghasilkan  sekumpulan  hubungan  (relation)  dengan  properti  yang
dibutuhkan, dimana akan diberikan permintaan data-data dari perusahaan.
Normalisasi
seringkali
dijalankan
sebagai serangkaian dari langkah-
langkah. Beberapa
langkah berhubungan dengan kondisi
normal yang diketahui
propertinya.
Unnormalized Form (UNF)
  
21
Merupakan tabel yang terdiri dari satu atau lebih kelompok
berulang (repeating group)
First Normal Form (1NF)
Merupakan relasi dimana ada beberapa baris (row) dan kolom
(column)
yang
mengandung
satu
atau
hanya
satu
nilai saja tanpa
mengandung data kelompok berulang (repeating group). Pada tahap ini,
proses normalisasi dimulai dengan memindahkan data dari sumbernya ke
dalam format
tabel.
Pada
format
ini,
tabel
adalah unnormalized
form
(UNF) dan menunjuk ke unnormalized table.
Untuk memindahkan UNF ke 1NF, terlebih dahulu
mengidentifikasi  dan  memindahkan  kelompok 
yang  berulang  dalam
tabel. Kelompok berulang adalah atribut, kelompok dari atribut, dalam
tabel
yang
terdapat
nilai
banyak untuk
satu
kejadian
yang
menunjuk
atribut kunci untuk tabel tersebut. Pada 1NF telah ditentukan kunci utama
(primary key) yang unik dan tidak pernah kosong, juga menghilangkan
atribut yang memiliki operasi perhitungan.
Second Normal Form (2NF)
Merupakan relasi yang ada di dalam first normal form (1NF) dan
setiap atribut yang bukan kunci utama (primary
key) secara penuh
merupakan ketergantungan fungsional pada kunci utama. Pada tahap 2NF
ini, telah  dipisahkan ketergantungan parsial menjadi tabel-tabel tersendiri
dengan
kunci
utama
adalah
atribut determinan
masing-masing.
Atribut
determinan tetap ada pada tabel 1NF dan menjadi kunci referensi (foreign
  
22
key bagi  tabel  baru.  Atribut  bukan  kunci  tergantung  fungsional
(functional dependency) pada atribut kunci.
Third Normal Form (3NF)
Merupakan relasi yang ada di dalam first normal form (1NF) dan
second normal form (2NF) dimana
tidak ada atribut yang bukan kunci
utama ketergantungan transitif (transitive dependency) pada kunci utama.
Ketergantungan
transitif telah dipisahkan
menjadi
tabel-tabel
tersendiri.
Pada tahap 3NF dapat digambarkan dalam Entity Relationship Diagram
(ERD) sebagai representasi gabungan dari seluruh dokumen atau struktur
data yang ada didalam sistem.
2.1.3.3 Rancangan basis data fisikal (Physical database design)
Rancangan basis data fisikal merupakan proses
menghasilkan
gambaran
implementasi dari basis data pada secondary storage; menggambarkan hubungan
dasar, file perusahaan, dan index yang digunakan untuk memperoleh akses yang
efisien ke data, dan integrity constraint serta keamanan.
Tahap
ini
merupakan
tahap
akhir
dalam proses
perancangan
basis
data,
menjelang
bagaimana perancang menentukan bagaimana basis data
diimplementasikan. Dalam mengembangkan rancangan basis data fisikal, kita
harus menentukan
sasaran sistem basis data. Oleh karena
itu, rancangan
fisikal
dihubungkan ke sistem DBMS.
Langkah-langkah dalam merancang basis data secara fisik adalah:
1.   Perancangan relasi dasar
2.   Analisis Transaksi
  
23
3.   Pembuatan index untuk setiap entitas
4.   Mengestimasi kapasitas penyimpanan yang dibutuhkan
5.   Perancangan mekanisme keamanan
2.1.4 ERM (Entity relationship modelling)
Menurut Connolly & Begg (2002, p330) ERM adalah pendekatan top-down
untuk merancang basis data yang dimulai dengan mengidentifikasi data-data penting
yang disebut entities dan relationship diantara data yang harus direpresentasikan di
dalam model.
2.1.4.1 Entitas (entity)
Merupakan   suatu   obyek   yang   diidentifikasikan   dalam   lingkungan
pemakai atau suatu obyek nyata yang dapat dibedakan dari sesuatu yang lain dan
tidak  saling  tergantung. 
Entity  digambarkan  menggunakan  persegi  panjang
(             
). Entity (entitas) dibedakan menjadi dua tipe, yaitu:
Strong Entity Type (SET),
yaitu tipe entitas yang tidak bergantung pada
tipe entitas lainnya.
Weak Entity Type (WET),
yaitu
tipe
entitas
yang bergantung pada tipe
entitas lainnya.
2.1.4.2 Relasi (relationship)
Merupakan hubungan
diantara
sejumlah
entitas yang
ada. Relationship
disimbolkan
dalam
bentuk
intan/diamonds
(               ).
Terdapat
beberapa
tipe
  
24
relationship jika dilihat berdasarkan derajat relationship (jumlah entitas yang
berpartisipasi dalam suatu  relationship) yaitu:
Binary : relationship dengan derajat dua
Gambar 2.2 relationship derajat dua
Ternary : relationship dengan derajat tiga
Gambar 2.3 relationship derajat tiga
Quaternary : relationship dengan derajat empat
Gambar 2.4 relationship derajat
empat
Dikenal juga istilah recursive
relationship
yaitu
tipe
hubungan dimana
entitas
yang sama mengikutsertakan lebih dari satu peran yang berbeda (different roles).
Recursive relationship terkadang juga disebut unary relationship.
2.1.4.3 Atribut (attribute)
  
25
Atribut  berfungsi  untuk  menjelaskan  entitas  dan  setiap  atribut
mempunyai nilai (harga). Atribut digambarkan dengan simbol ellips (             
).
Setiap entity mempunyai atribut untuk
mewakili
suatu entity. Atribut dibedakan
menjadi beberapa macam, yaitu:
Atribut  sederhana 
(simple attribute),  yaitu  atribut 
yang  tidak  dapat
dibagi-bagi lagi menjadi atribut yang lebih sederhana (mendasar).
Atribut  komposit  (composite attribute),  yaitu  atribut  yang  terdiri  dari
beberapa komponen dan dapat berdiri sendiri.
Atribut  berharga  tunggal  (single-valued attribute),  yaitu  atribut  yang
hanya mempunyai satu harga untuk suatu entitas tertentu.
Atribut berharga ganda (multi-valued attribute), yaitu atribut yang dapat
terdiri dari sekumpulan harga untuk suatu entitas tertentu.
Null-value, yaitu atribut yang tidak mempunyai nilai dan tidak diketahui
harganya.
2.1.5 DBMS (Database Management System)
2.1.5.1 Pengertian DBMS (Database Management System)
Menurut Silberschatz (1986, p1) DBMS terdiri dari kumpulan data yang
saling berhubungan dan perangkat program untuk mengakses data. Tujuan utama
dari DBMS adalah untuk menyediakan lingkungan yang tepat (convenient) dan
efisien
(efficient)
untuk digunakan
dalam mendapatkan
kembali
informasi
dan
menyimpannya ke dalam basis data.
  
26
Menurut Connolly & Begg (2002, pp16-20) DBMS adalah suatu sistem
software yang memungkinkan user untuk mendefinisikan, menciptakan,
mengatur, dan menyediakan akses ke basis data.
Dari definisi diatas, dapat disimpulkan bahwa DBMS adalah suatu sistem
software yang memungkinkan user menciptakan, mengatur dan menyediakan
lingkungan
yang
tepat
dalam mendapatkan
informasi
dan
menyimpannya
ke
dalam basis data.
Secara umum, DBMS menyediakan fasilitas:
1.
DDL (Data
Definition
Language)
adalah
struktur
basis
data
yang
menggambarkan desain basis
data secara
keseluruhan.
DDL
merupakan
bahasa yang memungkinkan pemakai untuk menggambarkan dan
mengetahui nama entity, atribut, dan hubungan yang diminta untuk
aplikasi, digunakan bersama dengan hubungan diantara batasan
integrasi
dan keamanan.
2.   DML
(Data
Manipulation
Language) adalah
bentuk bahasa basis data
yang berguna untuk melakukan manipulasi dan pengambilan data pada
suatu basis data. DML membolehkan pemakai untuk memasukkan,
mengubah, menghapus, dan mendapatkan kembali data yang ada di basis
data. Seringkali di dalam operasi manipulasi data terdapat:
Penempatan data baru ke dalam basis data
Perubahan dari data yang disimpan dalam basis data
Mendapatkan kembali data yang dimuat dalam basis data
Penghapusan data dari basis data
  
27
Ada dua jenis dari DML, yaitu prosedural dan non-prosedural. Perbedaan
dasar diantara keduanya adalah prosedural DML menentukan bagaimana
keluaran dari pernyataan DML yang dihasilkan, sedangkan non-
prosedural DML hanya
menggambarkan keluaran apa yang dihasilkan.
DML merupakan bahasa yang bertujuan untuk memudahkan pemakai
dalam mengakses data sebagaimana digambarkan dalam basis data.
2.1.5.2 Komponen DBMS
Berikurt ini merupakan komponen dari DBMS:
1.   Hardware
Perangkat
keras
merupakan
komponen
dari personal computer (PC)
dari
network komputer.
2.   Software
Komponen
software
terdiri
dari
DBMS
itu
sendiri
dan
program aplikasi,
bersama 
dengan 
sistem  operasi 
(operating
system),
termasuk 
jaringan
software jika DBMS digunakan dalam jaringan.
3.   Data
Digunakan oleh organisasi dan menjelaskan struktur dari data-data yang
disebut schema.
4.   Procedures
Prosedur mengacu kepada instruksi dan peraturan yang menentukan
perancangan dan digunakan di dalam basis data.
5.   People
  
28
Ada  beberapa  tipe  pemakai  terhadap  suatu  sistem  basis  data
yaitu 
:
programmer, database administrators (DBA), system analysis.
Gambar 2.5 Komponen DBMS
Sumber:Connolly & Begg(2002), p18
2.1.5.3 SQL (Structured Query Language)
SQL
merupakan
bahasa
standar
yang pertama dan sejauh ini merupakan
bahasa basis data yang mendapatkan penerimaan yang besar. Idealnya, bahasa
basis data akan memperbolehkan pemakai untuk:
Membuat basis data dan struktur hubungan.
Menampilkan   tugas   pengaturan   data   dasar,   seperti   memasukkan,
modifikasi, dan menghapus data dari relasi.
Menampilkan query yang sederhana maupun yang rumit.
SQL
merupakan
bahasa
yang
dirancang untuk menggunakan relasi untuk
mengubah input menjadi output yang diperlukan. Sebagai sebuah bahasa, standar
ISO SQL memiliki dua komponen utama :
Data Definition Language (DDL) untuk menentukan struktur basis data
dan mengatur akses ke data. Bentuk umum pernyataan DDL:
1.   Create Table
  
29
Digunakan
untuk
membuat
tabel
basis
data.
Tabel terbentuk
dari
baris (tuple) dan kolom (atribut).
Sintaks : CREATE TABLE TableName
(ColumnName[,ColumnName]…[,PrimaryKeyDefinition][,Foreign
KeyDefinition])
2.   Alter Table
Digunakan
untuk
melakukan
perubahan
dari
struktur
tabel,
menambah atau menghapus suatu kolom.
Sintaks : ALTER TABLE TableName add|drop column data-type
3.   Drop Table
Digunakan untuk menghapus tabel yang sudah ada.
Sintaks : DROP TABLE TableName
Data 
Manipulation 
Language 
(DML) 
untuk 
memperbaharui 
data.
Bentuk umum pernyataan DML :
1.   Select
Digunakan untuk mencari data yang ada di dalam basis data.
Sintaks : SELECT [DISTINCT | ALL]
{* | [columnExpression [AS newName]] [,…]}
FROM TableName [alias] [,…]
[WHERE condition]
[GROUP BY columnList] [HAVING condition]
[ORDER BY columnList]
2.   Insert
  
30
Digunakan
untuk menambah data baru ke dalam suatu tabel basis
data.
Sintaks : INSERT INTO TableName ([columnList])
VALUES (data ValueList)
3.   Update
Digunakan untuk memperbaharui data di dalam tabel basis data.
Sintaks : UPDATE TableName
SET columnName1 = dataValue1 [, columnName2 = dataValue2…]
[WHERE searchCondition]
4.   Delete
Digunakan
untuk menghapus satu atau beberapa baris dari sebuah
tabel.
Sintaks : DELETE FROM TableName [WHERE searchCondition]
SQL merupakan bahasa yang sangat mudah untuk dipelajari:
Merupakan bahasa non-procedural: kita
mengkhususkan
informasi apa
yang
kita   
perlukan,   
dibandingkan   
dengan   
bagaimana   
cara
mendapatkannya. Dengan kata lain, SQL tidak memerlukan kita untuk
mengkhususkan akses ke data.
Seperti kebanyakan bahasa modern, SQL merupakan free-format, yang
berarti bahwa bagian dari pernyataan tidak perlu diketik di lokasi
tertentu pada layar.
Struktur  perintah  terdiri  dari  standar  kata  Inggris  seperti  CREATE
TABLE, INSERT, SELECT.
  
31
SQL 
dapat 
digunakan 
oleh 
sejumlah 
pemakai 
meliputi 
database
administrator, karyawan manajemen, pengembang aplikasi, dan banyak
tipe end-user lainnya.
2.2 Teori-teori Khusus
Berikut ini merupakan teori-teori khusus tentang pembelian dan reparasi:
2.2.1 Pembelian
Pembelian
merupakan kegiatan
utama dalam suatu bisnis perusahaan selain
penjualan. Berikut akan dibahas secara singkat tentang pembelian.
2.2.1.1 Pengertian pembelian
Menurut Clifton H.D (1994, p8) pembelian melibatkan prosedur untuk
memastikan bahwa semua bahan, komponen, peralatan, perlengkapan dan benda
lain yang dibutuhkan oleh perusahaan tersedia pada waktu yang tepat, tempat
yang tepat dan harga yang tepat.
Menurut
Mulyadi(1993,
p301)
sistem pembelian
digunakan
dalam
perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan
Menurut Assauri(1998, p159) pembelian merupakan salah satu fungsi
yang penting dalam berhasilnya operasi suatu perusahaan.
Fungsi pembelian bergantung pada jenis benda yang dibeli, tapi biasanya
mengikuti prosedur berikut:
Dapatkan kutipan harga, tanggal pengiriman dan kualitas dari pemasok.
Tempatkan pesanan dengan pemasok, awasi pengiriman.
  
32
Periksa pengiriman barang untuk jenis, kualitas dan jumlah yang tepat.
Kirim
keterangan
dari
barang
yang
diterima
ke
bagian
akutansi
untuk
pembayaran ke pemasok.
Periksa 
tagihan 
pemasok 
dan  pernyataan 
untuk  ketepatan 
sebelum
membuat pembayaran.
Kumpulkan informasi tentang harga pemasok, pengiriman dan kualitas.
Empat subsistem dari sistem pembelian:
1.
Memilih pemasok. Pembeli memutuskan pemasok mana yang harus
dipertimbangkan untuk pengisisan kembali persediaan, dengan
menggunakan
data
dari
file
pemasok dan
mungkin
dari
sumber-sumber
lain.
file   pemasok  
menyimpan   data   yang   menjelaskan   transaksi
perusahaan
dengan
pemasok
dimasa
lampau dalam hal
kualitas
bahan,
harga dan kemampuan untuk memenuhi tanggal pengiriman yang
dijanjikan.
2.   Mendapatkan  komitmen 
lisan.  Ketika  pembeli 
menentukan  pemasok
mana
yang
merupakan calon
terbaik, mereka dihubungi
melalui telepon
atau
mungkin  
melalui   jaringan   dengan   maksud   mencapai   suatu
persetujuan.
3. Menyiapkan
pesanan
pembelian.
Pembeli
kemudian
menggunakan
terminalnya
untuk
mulai
menyiapkan
pesanan
pembelian.
Output
yang
lain
adalah catatan
pesanan
pembelian
yang
ditambahkan
pada
file
pesanan
pembelian   terbuka.   File   ini  
menyediakan   suatu   tingkat
pengendalian
atas
pesanan
pembelian
yang
hilang
saat
diposkan,
atau
  
33
pengiriman
yang
tidak
sesuai
dengan yang
dijanjikan.
Saat
file
ini
disimpan dalam medium magnetik, komputer dapat membaca tiap actatan
secara harian dan memberitahukan kepad apembeli tiap pesana pembelian
terbuka, 
yaitu 
yang 
seharusnya 
telah 
dipenuhi 
namun  belum 
juga
dipenuhi. Pembeli dapat membuat tindak lanjut dengan pemasok untuk
menentukan alasannya.
Dua
output
lainnya adalah pemberitahuan ke
sistem lain
bahwa
pembelian
telah
dilakukan.
Arus data
pesanan
pembelian
yang
dikeluarkan,
memberitahukan
kepada
sistem penerimaan
bahwa
pengiriman sedang berlangsung. Juga, arus data kewajiban yang terjadi
memberitahukan sistem
hutang dagang bahwa
faktur dari pemasok akan
diterima.
4.   Menutup   pesanan   pembelian.   Jika   pesanan   telah   dipenuhi,   perlu
menghapus catatan dari file pesanan pembelian terbuka. Sinyal ini datang
dari sistem penerimaan dalam bentuk arus data pesanan pembelian
yang
terpenuhi. Catatan pesanan pembelian
yang dihapus disimpan dalam file
historis pesanan pembelian.
  
         t
Pan
oolian yrK=rq 
.J,
r
Dua  outpLlt
la£1my·a  adalah
pemberitahuan
ke
sblm  lain bahwa
bclian
tehth
dilakukan. 
Ams
data 
pesanan
pemhe1inn  
yang
duarkan.,memberiw.hukan
kcpada
sistem
penenmmm
bahwa
giriman
sedang
herlangsung. Juga,
arus
data
kewajiban
yang
tcrjad.i
mberitahukan sistem hutang
dagang
bat1.wa
faktur
rinri pcmasok
akm
rima.
nutnp 
pesanan  
pembdian.  
Jika  
pes<Jrilln    
tclah  
dipenuhi,   
per1u
:ghapus
catat3n
dari file
pesanan
pembcl.ian
tcrbu.. a. 
Sinyal
ini 
datang
i
sistcm
pcne:rh"'ilaan
dab.J.'11
bentuk
arus
data
pesanan
pemhe1ian ynng
enuhi.
Catata..J. pesanan pemhdian
yang dihapus
disirnpan dalam file
oripesanan
pembelian.
Dat:c
r!ii'9-dl.tilan dan
m-!!l"!!.;l.!c,
Data pi!!'5CI'1ar:  emb i;;;!n
D
tl:
"""""'""
<li <li ''"'"
--i
: ;!';.
---"'-=-""".:.=":;...""ec>'::...:":.:..:m.:.::b_:_si='"::..:" 
---;·:.. ,\.·•·.· ·:'•. .'.; .··:.:_·": _
.      
,
1
!<Awa  \ba     ng t..cj<ldi     '   '
W"beli>;iio  ':}----
I
-
Cirtal:all.PO.!.OL!if!:r!f".
i
·n !liL]n
l'o>s•iln ilf>tim':><>li<:n
l  
Yar.9 at.au dii.J.IWp
i
F' • .::.n pembe En n
"r ngcih .J
Gamlbar
2.6 Sistem Pembe.i:iallll
Slllmber:
McLeod,
Raymond(1996), pl9
  
35
Catatan 
penerimaan  barang.  Merupakan 
suatu  bukti 
catatan 
jumlah
barang. Catatan ini dibuat pada waktu barang diterima dan kemudian
divalidasikan setelah barang diperiksa.
Tagihan
pembelian.
Tagihan
ini
diterima
dari
pemasok
setelah
barang
telah diterima. Tagihan ini harus mengandung keterangan yang cukup
yang berhubungan dengan barang yang diterima dan ada di pesanan
pembelian.
Rekomendasi   Pembayaran.   Merupakan   dokumen   yang   dikirim   ke
pemasok
merekomendasikan
pembayaran yang harus dibayarkan.
Informasinya adalah jumlah uang, tanggal dan metode pembayaran.
Cek.  Cek  yang  disertakan  bersama  dengan  rekomendasi  pembayaran
harus ditarik kecuali pembayaran dilakukan melalui transfer bank.
Transfer  kredit. 
Daftar  dikirim  ke  bank  perusahaan  memerintahkan
mereka untuk mengirim uang ke account pemasok.
Analisis  pembelian.  Dalam  beberapa  kasus,  sangatlah  penting  untuk
menganalisis
pembelian
perusahaan
dalam beberapa
cara.
Tiga
alasan
untuk hal ini adalah sebagai berikut:
1.   Untuk mengukur keefisienan pemasok.
2.   Untuk membiayai pembelian departemen.
3.   Untuk 
membiayai  pembelian  dalam  menyelesaikan  pekerjaan,
yaitu biaya pekerjaan.
Record
pembelian.
Record
harus disimpan
untuk setiap
pemasok
untuk
menunjukkan keterangan dari accountnya, yaitu 
buku besar pembelian.
  
36
Informasi utama dalam tiap record adalah nomor account pemasok, nama,
keseimbangan dan transaksi (tagihan dan rekomendasi).
2.2.1.3 Retur Pembelian
Barang 
yang 
sudah  diterima  dari  pemasok  adakalanya  tidak  sesuai
dengan barang yang dipesan menurut surat order pembelian. Ketidaksesuaian
tersebut terjadi kemungkinan karena barang yang diterima tidak cocok dengan
spesifikasi
yang
tercantum dalam surat
order
pembelian.
Barang
mengalami
kerusakan dalam pengiriman atau barang diterima
melewati tanggal pengiriman
yang
dijanjikan
oleh
pemasok.
Sistem retur
pembelian
digunakan
dalam
perusahaan untuk pengembalian barang yang sah diteliti kepada pemasoknya.
2.2.2 Pengertian Reparasi
Menurut Poerwadarminta (1993, p820) reparasi adalah pembetulan apa-apa
yang
rusak. Saat
ini,
mobil
telah menjadi
sebuah
alat
transportasi
yang
sangat
dibutuhkan
oleh
masyarakat.
Adanya
kendaraan ini, memudahkan
kita
untuk
bepergian dari
satu
tempat ke tempat
lain hanya dalam waktu
yang relatif
singkat.
Sayangnya, banyak sekali orang yang tidak mengetahui cara merawat dan
memperbaiki kerusakan
mobil. Oleh karena itu,
jika
mobil rusak, orang lebih
suka
membawanya ke bengkel.
Menurut Poerwadarminta (1993, p119) bengkel adalah tempat memperbaiki
mobil, sepeda, dll.