file 3 bab 2 landasan teori - binus...
TRANSCRIPT
7
BAB 2
LANDASAN TEORI
2.1. Definisi Data
Menurut Hoffer, Prescott dan McFadden (2005,p5), data merupakan
gambaran objek dan peristiwa yang mempunyai arti dan penting di lingkungan
pemakai. Sedangkan informasi merupakan data yang telah diproses dengan cara
meningkatkan pengetahuan seseorang yang menggunakan data tersebut.
Menurut Indrajani (2009,p2), data adalah :
• Data adalah fakta atau obervasi mentah yang biasanya mengenai
fenomena fisik atau transaksi bisnis.
• Lebih khusus lagi, data adalah ukuran objektif dari atribut (karakteristik)
dari entitas seperti orang, tempat, benda, atau kejadian.
• Representasi fakta yang mewakili suatu objek seperti pelanggan,
karyawan, mahasiswa dan lain-lain, yang disimpan dalam bentuk angka,
huruf, simbol, teks, gambar, bunyi, dan kombinasinya.
8
2.2. Defini Basis data
Menurut Indrajani (2009,p2), data adalah :
• Kumpulan terpadu dari elemen data logis yang saling berhubungan. Basis
data mengkonsolidasi banyak catatan yang sebelumnya disimpan dalam
file terpisah.
• Merupakan suatu kumpulan data yang berhubungan secara logis dan
deskripsi data tersebut, yang dirancang untuk memenuhi informasi yang
dibutuhkan oleh suatu organisasi. Artinya, basis data merupakan tempat
penyimpanan data besar yang dapat digunakan oleh banyak pengguna.
Seluruh item basis data tidak lagi dimiliki oleh satu departemen, tetapi
menjadi sumber daya perusahaan yang dapat digunakan bersama.
Menurut Connoly dan Begg (2005,p15) basis data merupakan suatu
kumpulan logikal data yang terhubung satu dengan yang lainnya dan deskripsi
dari suatu data yang dirancang sebagai informasi yang dibutuhkan.
Menurut Hoffer, Prescott dan McFadden(2005,p4), basis data adalah
sebuah kumpulan terorganisir dari data-data yang berhubungan secara logikal.
Basis data biasanya dirancang untuk memenuhi kebutuhan-kebutuhan informasi
dari multiple user dalam sebuah organisasi.
9
2.3. DBMS
Menurut Hoffer, Prescott dan McFadden(2005,p7) DBMS merupakan
sebuah sistem piranti lunak yang digunakan untuk membuat, memelihara dan
menyediakan akses kontrol kepada pengguna basis data. Sebuah DBMS
menyediakan metode yang sistematis untuk menciptakan, memperbaharui,
menyimpan dan mengambil kembali data di dalam basis data.
Menurut Connolly dan Begg (2005,p16) DBMS merupakan sistem piranti
lunak dimana pemakainya dapat mendefinisikan, menciptakan, memelihara dan
mengontrol akses ke basis data. DBMS menyediakan beberapa fasilitas :
1. Mengijinkan pengguna untuk menentukan basis data, biasanya melalui
Data Definition Languange (DDL). DDL menyediakan fasilitas bagi
Basis data Administrator (DBA) dan pemakai untuk menentukan tipe
data, entitas, atribut dan relasi yang diperlukan aplikasi serta batasan
integritas dan keamanan yang bisa disimpan di basis data.
2. Mengijinkan pengguna untuk melakukan pengoperasian data seperti
memasukkan, memperbaharui, menghapus dan mengambil data dari basis
data.
3. DBMS juga menyediakan akses kontrol terhadap basis data. Contoh akses
kontrol yang disediakan :
a. Security System, yang dapat mencegah pengguna yang belum
terautorisasi yang hendak mengakses basis data.
10
b. Integrity System, memelihara konsistensi dalam penyimpanan
data.
c. Concurrency and Control System, yang memungkinkan
pembagian akses basis data.
d. Recovery Control System, yang dapat mengembalikan basis data
ke keadaaan awal apabila terjadi kesalahan pada piranti lunak
ataupun keras.
e. User Accessible Catalog, yang berisi deskripsi data yang terdapat
dalam basis data.
2.3.1 Komponen-Komponen DBMS
Menurut Connoly dan Begg (2005,p18) DBMS memiliki lima komponen
penting yaitu :
• Hardware (perangkat keras)
Suatu DBMS dan aplikasi yang menggunakan hardware untuk
menjalankan aplikasinya. Hardware dapat disusun dari suatu
komputer tunggal, suatu mainframe tunggal, suatu jaringan
komputer.
11
• Software (perangkat lunak)
Komponen perangkat lunak terdiri dari DBMS software dan
aplikasi program beserta sistem operasi (OS), termasuk perangkat
lunak tentang jaringan bila DBMS digunakan dalam jaringan.
• Data
Data merupakan komponen terpenting dalam DBMS khususnya
sudut pandang dari end user mengenai data, dimana data berfungsi
sebagai jembatan antara komponen mesin dengan komponen
manusia.
• Prosedur
Prosedur merupakan instruksi dan aturan-aturan dalam membuat
rancangan dan menggunakan basis data. Pengguna sistem dan staff
yang mengatur kebutuhan basis data didokumentasikan dalam
prosedur yang berupa petunjuk pengguna sistem atau petunjuk
menjalankan sistem. Berikut ini terdiri dari :
a) Log on ke DBMS.
b) Menggunakan sebagian fasilitas DBMS atau aplikasi
program.
c) Menjalankan dan menghentikan DBMS.
d) Membuat duplikat backup basis data.
e) Menangani kesalahan pada hardware atau software.
12
f) Mengubah struktur suatu tabel, mengatur ulang basis data
melewati multiple disks, meningkatkan kinerja, atau
menyimpan data ke secondary storage.
• People (manusia)
Komponen terakhir yaitu manusia yang terlibat dalam sistem
tersebut.
a. Application Programmer, bertanggung jawab untuk
membuat aplikasi basis data dengan menggunakan bahasa
pemrograman seperti VB, Java, dan lain-lain.
b. End-User, orang yang berinteraksi dengan sistem melalui
workstation atau terminal.
c. DA (Data Administrator), seorang yang berwenang untuk
membuat keputusan strategis dan kebijakan mengenai data
yang ada, DBA (Basis data Admistrator), menyediakan
dukungan teknis untuk implementasi keputusan tersebut,
dan bertanggung jawab atas keseluruhan kontrol sistem
pada tingkatan teknis.
13
d. Basis data Designer
Dalam sebuah proyek basis data yang besar, seharusnya
terdapat dua tipe designer yaitu logical basis data designer
dan physical basis data designer. Dimana, Logical Basis
data Designer bertugas untuk mengidentifikasi data
(entitas dan atribut), hubungan antar data dan hambatan
penyimpanan data ke dalam basis data. Sedangkan
Physical Basis data Designer menentukan bagaimana
basis data logikal untuk difisikkan.
Gambar 2.1 Komponen DBMS
14
2.3.2 Keuntungan dan Kerugian DBMS
Menurut Connoly dan Begg (2005,p26), keuntungan DBMS adalah
sebagai berikut :
1. Kontrol terhadap pengulangan data (data redundancy).
2. Data yang konsisten.
3. Semakin banyak informasi yang didapatkan data yang sama.
4. Data yang dibagikan (sharing data).
5. Menambah integritas data.
6. Menambah keamanan data.
7. Penetapan standarisasi.
8. Pengurangan biaya.
9. Mempermudah pengoperasian data.
10. Memperbaiki pengaksesan data dan hasilnya.
11. Menambah produktivitas.
12. Memperbaiki pemeliharaan data melalui independensi data.
13. Memperbaiki pengaksesan data secara bersama-sama.
Menurut Connoly dan Begg (2005,p26), kerugian dari DBMS adalah
sebagai berikut :
1. Memiliki sistem yang kompleks.
2. Karena sistem yang kompleks mengakibatkan DBMS memiliki
ukuran yang semakin besar.
15
3. DBMS memiliki harga yang bervariasi tergantung fungsi dan
kebutuhan.
4. Penambahan biaya untuk perangkat keras yang dibutuhkan.
5. Penambahan biaya konversi.
6. Karena DBMS dirancang untuk mengakses lebih dari satu aplikasi
sehingga performanya menurun.
7. Kegagalan dalam DBMS mengakibatkan operasi tidak dapat
berjalan.
2.4. Arsitektur Basis Data
Gambar 2.2 Tiga Tingkat Arsitektur ANSI-SPARC
16
Tiga tingkat arsitektur terdiri dari :
1. Tingkat Eksternal
Tingkat dimana terdapat tampilan basis data untuk pengguna. Tingkat ini
menjelaskan bahwa ada bagian dari database yang relevan ke setiap
pengguna. Pada tampilan ini terdapat :
• Lebih dari satu entity.
• Lebih dari satu attribute.
• Lebih dari satu relationship.
2. Tingkat Konseptual
Tingkat dimana terdapat tampilan basis data untuk komunitas. Tingkat
ini menjelaskan data apa yang disimpan di basis data dan juga menjelaskan
relationship antar data. Tingkat ini mewakili :
• Semua entity, attribute dari entity tersebut, dan relationship-nya.
• Kendala yang ada pada data.
• Informasi semantik tentang data.
• Security dan integrity information.
17
3. Tingkat Internal
Tingkat dimana representasi fisik dari basis data dalam komputer. Tingkat
ini menjelaskan bagaimana data disimpan dalam basis data. Tingkat internal
ini berkaitan dengan beberapa hal dibawah ini :
• Alokasi ruang penyimpanan untuk data dan indeks.
• Pencatatan data untuk penyimpanan.
• Komparasi data dan teknik enkripsi data.
• Penempatan pencatatan.
Dibawah tingkat internal terdapat tingkat fisik yang mengatur sistem
operasi di bawah arahan dari DBMS. Fungsi dari DBMS dari sistem operasi
pada tingkat ini tidak jelas dan berbeda dari sistem ke sistem.
Sasaran dari Tiga Tingkat Arsitektur ini adalah memisahkan setiap
tampilan pengguna terhadap basis data dengan cara basis data tersebut
direpresentasikan secara fisik. Berikut adalah beberapa alasan mengapa
pemisahan ini diperlukan :
• Semua pengguna dapat mengakses data yang sama, tetapi
memiliki tampilan yang berbeda disesuaikan dengan data. Setiap
pengguna harus mengubah cara pandangnya terhadap data, dan
perubahan ini tidak dapat mempengaruhi pengguna lainnya.
• Para pengguna tidak perlu lagi berhubungan langsung dengan
rincian penyimpanan basis data, seperti indexing atau hashing.
18
Dengan kata lain, interaksi pengguna dengan basis data harus
berdiri sendiri terhadap pertimbangan penyimpanan.
• Basis data Administrator (DBA) harus mengubah struktur
penyimpanan basis data tanpa mempengaruhi tampilan pengguna.
• Struktur internal dari basis data harus tidak terpengaruh dengan
perubahan ke aspek fisik penyimpanan, seperti perubahan besar
ke perangkat yang baru.
• Basis data Administrator (DBA) harus mengubah struktur
konseptual dari basis data tanpa memperngaruhi semua
pengguna.
(Connolly,2005,p35-37)
2.5. Data Independence
Sasaran utama dari tiga-tingkat arsitektur adalah untuk menyediakan data
independence atau kemandirian data, dalam arti tingkat atas tidak akan berubah
dengan perubahan ke tingkat bawah. Terdapat dua tipe dari kemandirian data :
• Logis
Merujuk kepada imunitas dari skema eksternal untuk perubahan dalam
skema konseptual.
19
• Fisik
Merujuk kepada imunitas dari skema konseptual untuk perubahan dalam
skema internal.
(Connolly,2005,p38-39)
2.6. Basis data Language
2.6.1 DDL (Data Definition Languange)
Menurut Connolly (2005,p40), DDL adalah sebuah bahasa yang
mengijinkan DBA (Basis data Administrator) atau pengguna untuk
menggambarkan dan menamai entitas, attribut dan hubungan yang
dibutuhkan oleh aplikasi bersamaan dengan asosiasi yang terintegrasi dan
batasan keamanan.
Beberapa statement DDL :
a. Create Table untuk membuat tabel dengan mengidentifikasikan
tipe data tiap kolom.
b. Alter Table untuk membuang atau menambah kolom dan
constraint.
c. Drop Table untuk menghapus table beserta semua data yang
terkait di dalamnya.
d. Create Index untuk membuat index pada suatu tabel.
e. Drop Index untuk membuang atau menghapus index yang telah
dibuat sebelumnya.
20
2.6.2 DML (Data Manipulation Language)
Suatu bahasa yang menyediakan suatu paket operasi untuk
mendukung manipulasi data yang tersimpan dalam basis data. Operasi
memanipulasi data umumnya meliputi beberapa hal berikut :
a. Memasukkan data baru ke dalam basis data.
b. Memodifikasi data yang sudah tersimpan dalam basis data.
c. Membaca data yang sudah tersimpan dalam basis data.
d. Menghapus data yang ada dalam basis data.
(Connolly,2005,p40-41)
DML dibedakan menjadi dua tipe, yaitu :
1. Prosedural
Suatu bahasa yang mengizinkan pengguna untuk
memberitahu sistem, data apa yang dibutuhkan dan bagaimana
mengambil data tersebut (Connolly,2005,p41).
2. Non-Prosedural
Suatu bahasa yang mengizinkan pengguna untuk
menyatakan data apa yang dibutuhkan daripada bagaimana data
itu diambil (Connolly,2005,p41).
21
2.7. The Database System Development Lifecycle
Sebagai sistem basis data komponen mendasar bagi perusahaan besar
yang memiliki sistem informasi yang luas, sistem basis data mengembangkan
siklus hidup yang secara lazim terkait dengan siklus hidup dari sistem informasi.
Penting untuk mengetahui tahapan-tahapan dari pengembangan siklus hidup
sistem basis data tersebut. Berikut tahapan-tahapannya :
Gambar 2.3 The Database System Development Lifecycle
22
• Perencanaan Basis data
Perencanaan Basis Data (Basis data Planning) merupakan
aktivitas manajemen yang memperkenankan tahapan database
application lifecycle direlakasikan seefisien dan seefektif mungkin.
Perencanaan basis data harus diintegrasikan dengan semua strategi sistem
informasi organisasi. Ada tiga isu pokok yang terlibat dalam perumusan
strategi sistem informasi, diantaranya :
o Identifikasi rencana dan tujuan perusahaan, kemudian
menentukan kebutuhan sisten informasi.
o Evaluasi sistem informasi yang ada untuk menentukan
kelebihan dan kelemahan yang ada.
o Penafsiran kesempatan teknologi informasi yang dapat
menghasilkan kekuatan kompetitif.
(Connolly,2005,p285).
• Pendefinisian Sistem
Mendeskripsikan lingkup dan batasan-batasan dari aplikasi basis
data dan pandangan pengguna utama. Pandangan pengguna adalah apa
saja yang termasuk dalam sistem basis data dari perspektif peran kerja
tertentu seperti manajer atau supervisor, atau area aplikasi perusahaan
seperti personal marketing atau kontrol saham (Connolly,2005,p286).
23
• Pengumpulan dan Analisis Data
Proses pengumpulan dan analisa data tentang bagian dari
organisasi yang akan didukung oleh aplikasi basis data, dan
menggunakan data ini untuk mengidentifikasi persyaratan-persyaratan
pengguna dari sistem yang baru (Connolly,2005,p288).
• Perancangan Basis data
Proses menciptakan rancangan untuk suatu basis data yang akan
mendukung operasi dan sasaran perusahaan (Connolly,2005,p291).
Terdapat dua pendekatan perancangan basis data yaitu :
o Bottom-up
Pendekatan ini sesuai untuk rancangan basis data yang sederhana
dengan jumlah attribute yang relatif sedikit (Connolly,2005,p291).
o Top-down
Pendekatan ini lebih sesuai untuk strategi rancangan basis data
yang rumit (Connolly,2005,p292).
Perancangan basis data terdiri dari tiga tahap, yaitu :
o Perancangan Basis data Konseptual
Proses membangun sebuah model dari data yang
digunakan dalam suatu perusahaan, independen dari semua
24
pertimbangan fisik (Connolly,2005,p293). Berikut langkah dalam
perancangan basis data konseptual :
Langkah 1 Membangun model data konseptual :
a. Identifikasi tipe entity.
b. Identifikasi tipe relationship.
c. Identifikasi dan mengumpulkan attribute dengan tipe entity
atau tipe relationship.
d. Menentukan domain attribute.
e. Menentukan attribute candidate key, primary key, dan
alternate key.
f. Mempertimbangkan penggunaan konsep model enhanced
(pilihan).
g. Memeriksa redudansi dari model.
h. Memvalidasi model data konseptual terhadap transaksi
pengguna.
i. Meninjau kembali model data konseptual terhadap pengguna.
(Connolly,2005,p440)
25
o Perancangan Basis data Logikal
Proses membangun sebuah model dari data yang
digunakan dalam suatu perusahaan berdasarkan pada model data
yang spesifik, tetapi independen terhadap DBMS tertentu dan
pertimbangan fisik lainnya (Connolly,2005,p294).
Langkah 2 Membangun dan memvalidasi model data logika :
a. Derivasi relationship untuk model data logika.
b. Validasi relationship dengan normalisasi.
c. Validasi relationship terhadap relationship transaksi.
d. Memeriksa integrity constraint.
e. Meninjau model data logika dengan pengguna.
f. Menggabungkan model data logika kedalam model global
(pilihan).
g. Meninjau untuk perkembangan di masa yang akan datang.
(Connolly,2005,p440)
o Perancangan Basis data Fisikal
Proses memproduksi sebuah deskripsi dari implementasi
basis data dalam tempat penyimpanan kedua, hal itu menjelaskan
26
relationship dasar berkas organisasi, dan indeks yang digunakan
untuk mencapai keefisienan akses ke data, dan apapun integrity
constraint yang terkait dan langkah-langkah security
(Connolly,2005,p294).
Langkah 3 Menerjemahkan model data logika untuk target
DBMS:
a. Merancang relationship dasar.
b. Merancang representasi dari data derivasi.
c. Merancang general constraint.
Langkah 4 Merancang berkas organisasi dan indeks :
a. Menganalisa transaksi.
b. Memilih berkas organisasi.
c. Memilih indeks.
d. Estimasi kapasitas disk yang dibutuhkan.
e. Merancang views pengguna.
f. Merancang mekanisme security.
g. Mempertimbangkan pengenalan dalam mengontrol redudansi.
27
h. Memonitor dan mengaktifkan sistem operasional.
• Pemilihan DBMS
Pemilihan dari suatu DBMS yang sesuai untuk mendukung
aplikasi basis data (Connolly,2005,p295).
Langkah-langkah dalam pemilihan DBMS :
o Mendefinisikan syarat-syarat sebagai referensi.
o Daftar singkat dua atau tiga produk.
o Evaluasi produk.
o Merekomendasikan pilihan dan menghasilkan laporan.
• Perancangan Aplikasi
Menurut Connolly (2005, p299), perancangan aplikasi
(application design) adalah perancangan antarmuka pengguna dan
program aplikasi yang menggunakan dan memproses basis data.
Ada dua aspek penting dalam perancangan aplikasi, yaitu :
o Transaction Design (Perancangan Transaksi)
Transaksi merupakan satu atau serangkaian
transaksi yang dilakukan oleh pengguna atau program
28
aplikasi yang mengakses atau mengubah isi dari basis
data.
Tujuan dari perancangan transaksi adalah
menetapkan dan mendokumentasikan karakteristik tingkat
tinggi dan transaksi yang dibutuhkan pada basis data,
diantaranya :
a. Data yang digunakan dalam transaksi.
b. Karakteristik fungsional dari transaksi.
c. Keluaran (output) dari transaksi.
d. Kepentingan pengguna.
e. Nilai yang diharapkan dari pengguna.
Ada tiga jenis transaksi :
a. Retrieval Transaction
Digunakan untuk mendapatkan kembali data untuk
ditampilkan dalam laporan.
b. Update Transaction
Digunakan untuk menambah data, menghapus data
lama, atau mengubah data yang sudah ada dalam basis
data.
29
c. Mixed Transaction
Merupakan kombinasi antara Retrieval Transaction
dan Update Transaction.
o User Interface Design (Perancangan Antarmuka)
Sebelum mengimplementasikan sebuah form atau laporan,
perlu dirancang tampilannya terlebih dahulu. Ada beberapa
pedomanan dalam perancangan pelaporan, yaitu :
a. Judul yang bermakna.
b. Instruksi yang mudah dipahami.
c. Pengelompokkan yang logis dan kolom yang
berurutan.
d. Visualisasi tata letak yang menarik dari laporan.
e. Nama field yang akrab.
f. Terminologi dan singkatan yang konsisten.
g. Warna yang digunakan konsisten.
h. Ruang dan batas-batas untuk field memasukkan data
jelas.
i. Pergerakkan kursor yang mudah.
30
j. Perbaikan kesalahan untuk karakter individu dan
seluruh field.
k. Pesan kesalahan untuk nilai yang tidak dapat diterima.
l. Field pilihan ditandai dengan jelas.
m. Pesan yang jelas untuk field.
n. Adanya sinyal selesai, ketika pengguna selesai
mengisi field dari suatu formulir.
(Connolly,2005,p299)
• Prototipe
Membangun suatu model kerja dari suatu aplikasi basis data.
Tujuan utama dari pengembangan prototype aplikasi basis data
adalah untuk memungkinkan pengguna memakai prototype tersebut
dalam mengidentifikasi kelebihan atau kekurangan sistem, dan
memungkinkan perancang untuk memperbaiki atau melengkapi fitur-fitur
aplikasi basis data yang baru.
31
Ada dua strategi prototyping yang umum digunakan, yaitu :
o Requirement Prototyping
Menggunakan prototype untuk menetapkan tujuan dari
aplikasi basis data dan ketika tujuan sudah terpenuhi,
prototype tidak digunakan lagi atau dibuang.
o Evolutionary Prototyping
Digunakan untuk tujuan yang sama. Perbedaannya adalah
prototype yang sudah dipakai tidak dibuang, tetapi
dikembangkan lebih jauh menjadi aplikasis basis data
yang baru.
(Connolly,2005,p303-304).
• Implementasi
Realisasi secara fisik dari basis data dan perancangan aplikasi.
Implementasi basis data dapat dicapai dengan menggunakan Data
Definition Language (DDL) dari DBMS yang dipilih atau Graphical User
Interface (GUI).
(Connolly,2005,p304).
32
• Konversi Data dan Pemuatan
Menurut Connolly (2005, p305), data conversion and loading
adalah memindahkan data yang sudah ada ke dalam basis data
yang baru dan mengubah aplikasi yang sudah ada ke dalam basis
data yang baru dan mengubah aplikasi yang sudah ada untuk
dijalankan pada basis data yang baru.
Tahapan ini diperlukan ketika sistem basis data yang baru akan
menggantikan sistem basis data yang lama. Pada masa sekarang,
DBMS umumnya memiliki fungsi untuk memasukkan file ke
dalam basis data yang baru. Fungsi ini memungkinkan
pengembang untuk mengkonversi dan menggunakan program
aplikasi yang lama dalam sistem yang baru.
• Pengujian
Proses melaksanakan program aplikasi dengan tujuan untuk
menemukan kesalahan. Berikut adalah contoh kriteria yang dapat
digunakan untuk melaksanakan evaluasi :
o Learnability
Berapa lama waktu yang diperlukan untuk seorang pengguna
baru menjadi produktif dengan sistem? (Connolly,2005,p305).
33
o Performance
Seberapa baik sistem dalam menanggapi kesesuaian praktek
kerja pengguna? (Connolly,2005,p305).
o Robustness
Setoleransi apa sistem pada kesalahan pengguna?
(Connolly,2005,p305).
o Recoverability
Seberapa baik sistem saat pemulihan kesalahan pengguna?
(Connolly,2005,p306).
o Adaptibility
Seberapa dekat sistem terkait ke satu model kerja?
(Connolly,2005,p306).
• Operasional dan pemeliharaan
Proses pemantauan dan memelihara sistem dengan mengikuti
instalasi. Tahap ini melibatkan dua kegiatan, yakni :
o Memantau kinerja sistem.
34
o Memelihara dan memperbaharui sistem basis data (jika
diperlukan) (Connolly,2005,p306).
2.8. Normalisasi
Normalisasi adalah sebuah teknik untuk menghasilkan suatu paket
relationship dengan properti yang diinginkan, dan memberikan persyaratan data
dari sebuah perusahaan (Connolly,2005,p388).
2.8.1 Redudansi Data dan Update Anomalies
Tujuan utama dari desain basis data relasi adalah untuk
mengelompokkan attribute kedalam relationship untuk meminimalisasi
data yang redundan. Jika tujuan ini tercapai, keuntungan potensial bagi
implementasi basis data mencakup beberapa hal, yaitu :
o Pembaruan data yang tersimpan dalam basis data yang
dicapai dengan minimal jumlah operasi dengan demikian
akan mengurangi kesempatan dalam ketidakkonsistenan
data yang terjadi dalam basis data (Connolly,2005,p390).
o Pengurangan kapasitas di berkas penyimpanan diperlukan
oleh relationship dasar dengan demikian dapat
meminimalisasi biaya (Connolly,2005,p390).
Relationship yang berulang memungkinkan memiliki beberapa masalah
yang disebut update anomalies. Update anomalies diklasifikasikan
35
sebagai insertion, deletion atau modification anomalies
(Connolly,2005,p391).
2.8.2 Functional Dependencies
Menjelaskan relationship antara attribute dalam setiap
relationship. Sebagai contoh, jika A dan B adalah attribute dari
relationship R, fungsi B tergantung dari A (ditandai A-->B), jika setiap
nilai dari A berasosiasi dengan nilai dari B. (A dan B masing-masing
terdiri dari satu atau lebih attribute) (Connolly,2005,p392).
2.8.3 Proses Normalisasi
1. Unnormalized Form (UNF)
Suatu tabel yang terdiri dari satu atau lebih kelompok yang
berulang (repeating group). Repeating group adalah sebuah attribute
atau himpunan attribute di dalam tabel yang mnemiliki lebih dari satu
nilai (multiple value) untuk sebuah primary key pada tabel tersebut
(Connolly,2005,p403).
2. First Normal Form (1NF)
Sebuah relationship dimana titik semu antara baris dan
kolomnya mengandung hanya satu nilai. Sebuah relationship akan
berada dalam 1NF jika repeating group tersebut telah hilang. Ada dua
36
pendekatan umum untuk menghilangkan repeating group dari tabel
yang tidak normal, yaitu :
o Memasukkan data yang tepat di kolom yang kosong dari
baris yang mengandung data berulang.
o Menempatkan data berulang bersama salinan attribute
kunci pada relationship yang terpisah. Sebuah primary key
diidentifikasikan ke relationship yang baru.
(Connolly,2005,p403).
3. Second Normal Form (2NF)
Sebuah relationship yang berada pada 1NF dan setiap attribute
yang bukan primary key berfungsi secara penuh bergantung pada
primary key-nya (Connolly,2005,p407).
4. Third Normal Form (3NF)
Sebuah relationship yang berada pada 1NF dan 2NF, dan tidak
ada attribute yang bukan primary key yang secara langsung
bergantung kepada primary key-nya (Connolly,2005,p408).
37
2.9. ER Model (Entity-Relationship Model)
Entity-Relationship Model merupakan salah satu model yang dapat
memastikan pemahaman yang tepat terhadap data dan bagaimana
penggunaannya di dalam suatu organisasi (Connolly,2005,p342).
Model ini menggunakan pendekatan Top-Down dalam merancang basis
data, dimulai dengan mengidentifikasikan data penting yang disebut entity dan
relationship antara data harus direpresentasikan ke dalam model, kemudian
ditambahkan beberapa attribute dan constraint pada entity, attribute dan
relationship.
2.9.1 Tipe Entity
Tipe entity adalah sekumpulan objek dengan properti yang sama,
yang diidentifikasikan di dalam perusahaan karena keberadaannya yang
mandiri. Sedangkan kejadian entity adalah sebuah objek dari satu tipe
entity yang dapat diidentifikasi secara unik (Connolly,2005,p343).
Keberadaan objek-objeknya secara nyata, seperti PTN dan KOPERTIS,
atau secara abstrak seperti penjualan. Tipe entity dapat dikelompokkan
menjadi :
o Tipe Entity Kuat
Tipe entity kuat adalah tipe entity yang keberadaannya tidak
bergantung pada tipe entity lainnya (Connolly,2005,p354).
38
o Tipe Entity Lemah
Tipe entity lemah adalah tipe entity yang keberadaannya
bergantung pada tipe entity lainnya (Connolly,2005,p355).
2.9.2 Tipe Relationship
Tipe relationship adalah gabungan antara tipe entity. Setiap jenis
relationship diberikan mana yang menjelaskan fungsinya. Sedangkan
kejadian relationship adalah sebuah hubungan yang dapat
diidentifikasikan secara unik, yang meliputi sebuah kejadian dari setiap
tipe entity di dalam relationship (Connolly,2005,p346).
o Derajat dari Tipe Relationship
Derajat dari tipe relationship adalah banyaknya tipe entity yang
berpartisipasi dalam sebuah relationship (Connolly,2005,p347).
Tipe relationship kompleks adalah sebuah relationship antara tiga
atau lebih tipe entity (Connolly,2005,p348).
o Recursive Relationship
Relationship recursive adalah sebuah tipe relationship dimana ada
entity yang sama yang diikutsertakan lebih dari satu fungsi
(Connolly,2005,p349).
39
2.9.3 Attribute
Attribute adalah properti dari sebuah entity atau relationship
(Connolly,2005,p350). Attribute juga diartikan sebagai properti deskriptif
atau karakteristik dari sebuah entity. Attribute menampung nilai yang
menjelaskan setiap kejadian entity dan menggambarkan bagian utama
dari data yang disimpan dalam basis data (Whitten,2004,p295).
• Attribute Domain
Attribute domain adalah sejumlah nilai yang diijinkan untuk nilai
lebih untuk satu atau lebih attribute. Domain menetapkan bahwa
sebuah attribute mungkin menahan dan serupa dengan konsep
domain pada model relationship (Connolly,2005,p350).
• Attribute Simpel
Sebuah attribute yang disusun dari komponen tunggal dengan
keberadaan yang mandiri. Attribute simpel tidak bisa dibagi lebih
jauh lagi ke komponen yang lebih kecil. Seperti contoh posisi
entity dan gaji karyawan. Attribute simpel dapat disebut juga
atomic attribute (Connolly,2005,p351).
40
• Attribute Komposit
Sebuah attribute yang disusun dari komponen berlipat ganda,
masing-masing dengan sebuah keberadaan yang bebas. Beberapa
attribute dapat dibagi lebih jauh lagi ke hasil komponen yang
lebih kecil dengan keberadaan mandiri yang dimiliki attribute itu
sendiri (Connolly,2005,p351).
• Attribute Single-Valued
Attribute yang mempunyai nilai tunggal untuk setiap kejadian
pada sebuah tipe entity (Connolly,2005,p351).
• Attribute Multi-Valued
Attribute yang mempunyai beberapa nilai untuk setiap kejadian
pada sebuah entity (Connolly,2005,p352).
• Attribute Derivasi
Sebuah attribute yang mewakili sebuah nilai yang dapat
diturunkan dari attribute lain yang berhubungan atau kumpulan
dari beberapa attribute, dan tidak harus berasal dari entity yang
sama (Connolly,2005,p352).
41
2.9.4 Keys
• Candidate Key
Sejumlah kecil attribute yang secara unik mengidentifikasikan setiap
kejadian dari setiap tipe entity (Connolly,2005,p352).
• Primary Key
Candidate key yang terpilih untuk mendefinisikan secara unik pada
setiap kejadian dari sebuah entity (Connolly,2005,p353).
• Composite Key
Sebuah candidate key yang terdiri dari dua atau banyak attribute
(Connolly,2005,p353).
• Foreign Key
Himpunan attribute dalam suatu relationship yang cocok dengan
candidate key dari beberapa relationship lainnya
(Connolly,2005,p79).
• Alternate Key
Candidate key yang tidak terpilih menjadi primary key, atau biasa
disebut secondary key (Whitten,2004,p298).
42
2.10. Cardinality and Participation Constrains
Multiplicity sebenarnya terdiri atas dua batasan yang berbeda, yaitu :
• Cardinality
Cardinality adalah nilai maksimum dari kejadian relationship
yang mungkin terjadi untuk sebuah entity yang ikut serta pada
suatu relationship (Connolly,2005,p363).
• Participation
Participation menentukan apakah semua atau hanya beberapa
kejadian entity yang ikut serta dalam sebuah rekationship
(Connolly,2005,p363).
Participation constraint dibagi menjadi :
o Mandatory Participation
Participation mandatory melibatkan semua kejadian entity
pada relationship tertentu (Connolly,2005,p351).
o Optional Participation
Optional Participation melibatkan beberapa kejadian entity
pada relationship tertentu (Connolly,2005,p351).
43
2.11. Structural Constraints
Constraint harus menggambarkan pembatasan di dalam relationship
seperti halnya di ‘dunia nyata’. Jenis utama dari constraint pada suatu dinamakan
multiplicity.
Multiplicity adalah banyaknya kejadian yang mungkin pada suatu tipe
entity yang mungkin hubungan dengan suatu kejadian dari tipe entity lain pada
suatu relationship (Connolly,2005,p356).
Derajat yang paling umum pada suatu relationship adalah biner. Relationship
biner terdiri dari :
• One-to-one Relationship (1:1)
Gambar 2.4 One-to-one Relationship
Pada gambar 2.4 bisa dilihat bahwa A hanya terhubung one-to-
one (1:1) dengan C, dan B hanya terhubung one-to-one (1:1) dengan D.
Berdasarkan gambar diatas dapat ditulis multiplicity-nya seperti gambar
di bawah ini (Connolly,2005,p357).
44
Gambar 2.5 Notasi One-to-one Relationship
• One-to-many Relationship (1:*)
Gambar 2.6 One-to-many Relationship
Pada gambar 2.6 bisa dilihat bahwa B terhubung one-to-many (1:*)
dengan D dan E. Berdasarkan dari gambar di atas dapat ditulis
multiplicity-nya seperti gambar di bawah ini (Connolly,2005,p358).
45
Gambar 2.7 Notasi One-to-many Relationship
• Many-to-many Relationship (*:*)
Gambar 2.8 Many-to-many Relationship
Pada gambar 2.8 dapat dilihat bahwa A terhubung one-to-many (1:*)
dengan D dan E. Sedangkan E terhubung one-to-many (1:*) dengan A
dan B. Maka entity Group 1 (dengan value A dari gambar di atas) dan
Group 2 (dengan value E dari gambar di atas) terhubung many-to-many
(*:*). Berdasarkan gambar di atas dapat ditulis multiplicity-nya seperti
gambar di bawah ini (Connolly,2005,p358).
46
Gambar 2.9 Notasi Many-to-many Relationship
2.12. Enhanced Entity-Relationship Model (EER Model)
Model EER memiliki tiga konsep tambahan yang sangat berguna dan
penting yaitu spesialisasi/generalisasi, agregasi, dan komposisi.
2.12.1 Spesialisasi/Generalisasi
Spesialisasi merupakan suatu proses memaksimalkan perbedaan-
perbedaan antara anggota sebuah entity dengan cara mengidentifikasi
karakteristik yang membedakan entity tersebut (Connolly,2005,p374).
Sedangkan, generalisasi merupakan suatu proses yang
meminimalkan perbedaan-perbedaan antara entity dengan cara
mengidentifikasi sifat umum entity (Connolly,2005,p375).
2.12.2 Agregasi
Agregasi menggambarkan relationship ‘mempunyai sebuah’ atau
‘bagian dari’ antara tipe entity dimana salah satunya mewakili ‘seluruh’
dan salah satunya lagi mewakili ‘bagian’ (Connolly,2005,p383).
47
2.12.3 Komposisi
Komposisi adalah sebuah bentuk spesifik dari agregasi yang
merepresentasikan sebuah kumpulan antar entity. Dimana terdapat sebuah
kepemilikan yang kuat dan kebetulan antara ‘seluruh’ dan ‘bagian’
(Connolly,2005,p384).
2.13. Teori-Teori Khusus
2.13.1 Internet
Suatu koleksi yang meliputi jaringan komputer seluruh dunia
yang saling terhubung. Internet terdiri dari banyak jaringan terpisah tetapi
saling berhubungan. Internet dapat digunakan untuk keperluan komersil,
bidang pendidikan dan organisasi-organisasi pemerintah, dan Internet
Service Providers. Jasa yang ditawarkan di internet antara lain adalah e-
mail (electronic mail), konferensi, dan bercakap-cakap dan juga
mempunyai kemampuan untuk mengontrol komputer secara remote, dan
mengirim serta menerima berkas (Connolly,2005,p994).
2.13.2 Pendekatan Web Basis data
Web basis data berasal dari dua kata, yaitu web dan basis data.
Web (disebut juga world wide web, www atau W3) adalah ruang
informasi di internet tempat dokumen-dokumen hypermedia disimpan
48
dan dapat diambil melalui suatu skema alamat yang unik (McLeod, 2001,
jilid 1, p75).
Menurut Eaglestone (2001, p31), web basis data adalah suatu
sistem yang membawa kemampuan dari teknologi basis data dan web.
Sistem web basis data dilihat dari 2 sudut pandang : bagaimana
menggunakan DBMS dalam mengelola dan meningkatkan performa
aplikasi web dan bagaimana koneksi ke web bisa mengelola sistem basis
data.
Web aplikasi adalah web yang secara umum mempertimbangkan
mekanisme dalam menyimpan dan menyediakan akses ke dokumen.
Internet dan web dapat memperluas kemampuan sistem basis data dalam
2 bagian :
1. Akses yang luas : dengan menyambungkan sistem ke internet,
maka populasi user dapat bertambah.
2. Banyak pelayanan : Internet dapat menghubungkan dan
menggabungkan sistem basis data yang berbeda untuk
menyediakan layanan baru.
49
2.13.3 World Wide Web (WWW)
Suatu sistem yang berbasis hipermedia yang menyediakan suatu
simple ‘poin’ dan ‘klik’ artinya adalah menelusuri informasi melalui
internet menggunakan hyperlinks (Connolly,2005,p998).
2.13.4 Hypertext Transfer Protocol (HTTP)
Protokol yang digunakan untuk memindahkan halaman web
melalui internet. HTTP menggambarkan bagaimana klien dan server
berkomunikasi. HTTP adalah suatu orientasi objek yang umum, protokol
yang tidak menetap untuk memancarkan informasi antara server dan
klien.
HTTP berdasarkan paradigma request-response. Transaksi HTTP
meliputi tahapan dibawah ini :
o Koneksi
Klien membuat sebuah koneksi dengan Web server.
o Request
Klien mengirim pesan request kepada Web server.
o Response
Web server mengirim response kepada klien.
50
o Close
Koneksi ditutup oleh Web server.
(Connolly,2005,p999).
2.13.5 Hypertext Markup Language (HTML)
HTML adalah dokumen yang mengatur bahasa-bahasa yang
digunakan untuk mendesain kebanyakan halaman web. HTML adalah
suatu sistem untuk marking-up, tagging, sehingga dokumen tersebut
dapat dipublikasikan ke web (Connolly,2005,p1001).
2.13.6 PHP (PHP Hypertext Preprocessor)
PHP adalah bahasa pemrograman open source yang menempel
pada HTML yang didukung oleh banyak web servers termasuk Apache
HTTP Server dan Microsoft’s Internet Information Server, dan pilihan
bahasa pemrograman Linux Web. Salah satu keuntungan dari PHP adalah
dapat diperpanjang, dan nomor modul perpanjangnya sudah menyediakan
dukungan seperti koneksi basis data, mail, dan XML
(Connolly,2005,p1014).
51
2.13.7 Interaksi Manusia dan Komputer (IMK)
Menurut Shneiderman (2005,p74-75), sebuah sistem berbasis
komputer selalu mempunyai elemen manusia yang terkait di dalamnya.
Elemen manusia ini berinteraksi langsung dengan perangkat keras dan
perangkat lunak melalui sebuah antarmuka (interface).
Penggunaan delapan aturan emas berasal dari prinsip-prinsip yang
didapatkan dari pengalaman-pengalaman, dan direvisi selama lebih dari 2
dekade. Delapan aturan emas tersebut adalah :
1. Berusaha untuk konsisten
Urutan aksis yang konsisten diperlukan pada situasi yang sama.
Konsistensi juga harus digunakan pada prompt, menu, layar bantu.
Warna tampilan, kapitalisasi, huruf dan sebagainya juga harus
konsisten.
2. Memungkinkan penggunaan shortcut
Menambahkan feature untuk pemakai yang sudah ahli bisa
memperkaya design interface dan meningkatkan kualitas sistem.
3. Memberikan umpan balik yang informatif
Untuk setiap tindakan yang dilakukan pemakai, diharapkan
adanya respon dari sistem. Untuk tindakan yang sering terjadi dan
tidak membutuhkan banyak aksi, respon yang ada bisa dibuat
secara sederhana, sedangkan tindakan yang jarang dilakukan dan
membutuhkan banyak aksi harus lebih ditonjolkan.
52
4. Merancang dialog yang memberikan penutupan (keadaan akhir)
Urutan aksi harus disusun ke dalam kelompok awal, tengah dan
akhir. Suatu umpan balik yang informatif pada akhir pekerjaan
sebaiknya dibuat untuk mengindikasikan bahwa pekerjaan telah
selesai dan siap untuk melanjutkan ke aksi berikutnya.
5. Memberikan pencegahan kesalahan dan penanganan kesalahan
yang sederhana
Sebisa mungkin dibuat sistem yang tidak akan menghasilkan
kesalahan yang serius jika digunakan oleh pemakai. Jika pemakai
membuat kesalahan, sistem tersebut harus dapat mendeteksi
kesalahan dan menawarkan instruksi yang sederhana, konstruktif,
dan spesifik untuk perbaikan.
6. Memungkinkan pembalikan aksi yang mudah
Aksi yang telah dilakukan harus dapat dikembalikan ke keadaan
awal.
7. Mendukung pusat kendali internal (internal locus of control)
Menjadikan pemakai sebagai pemberi aksi, bukan sebagai orang
yang merespon aksi.
8. Mengurangi beban ingatan jangka pendek
Karena keterbatasan manusia dalam pemrosesan informasi pada
ingatan jangka pendek, sebaiknya tampilan dibuat sederhana,
beberapa halaman dijadikan satu, frekuensi pergerakan window
dikurangi, dan harus ada waktu yang cukup untuk mempelajari
53
kode-kode, singkatan, serta urutan aksi. Informasi seperti
singkatan atau kode sebaiknya juga tersedia.
2.13.8 MySQL
Menurut Nugroho (2004,p29), MySQL adalah sebuah program
pembuat database yang bersifat open source, yang artinya siapa saja
boleh menggunakannya dan tidak akan dicekal. MySQL juga merupakan
program pengaksesan database yang bersifat jaringan sehingga dapat
digunakan untuk aplikasi multi users (banyak penguna). Kelebihan
lainnya dari MySQL adalah bahasa query standar yang dimiliki SQL
(Structure Query Language).
2.13.9 Penjualan
Menurut Mulyadi (2001,p202), kegiatan penjualan terdiri dari
penjualan barang dan jasa, baik secara kredit maupun secara tunai. Dalam
transaksi penjualan kredit, jika order dari pelanggan telah dipenuhi
dengan permintaan barang yang atas penyerahan jasa, untuk jangka
waktu tertentu perusahaan memiliki piutang kepada pelanggannya.
Dalam sistem penjualan secara tunai, barang atau jasa baru diserahkan
oleh perusahaan kepada pembeli jika perusahan telah menerima kas dari
pembeli.
54
2.13.10 Pembelian
Menurut Render (2001, p414), pembelian adalah perolehan
barang dan jasa. Secara umum, definisi pembelian adalah suatu usaha
pengadaan barang dan jasa dengan tujuan yang akan digunakan sendiri,
untuk kepentingan proses produksi maupun untuk dijual kembali.
Menurut Render (2001, p414), tujuan dari kegiatan pembelian adalah:
a. Membantu identifikasi produk dan jasa yang dapat diperoleh
secara eksternal.
b. Mengembangkan, mengevaluasi dan menentukan pemasok,
harga dan pengiriman yang terbaik bagi barang dan jasa
tersebut.
Jenis transaksi dalam pembelian dibedakan menjadi dua, yaitu :
a. Pembelian tunai adalah proses pembayaran yang dilakukan
secara langsung pada saat barang diterima.
b. Pembelian kredit adalah proses pembayaran yang tidak
dilakukan langsung pada saat barang diterima, tetapi
pembayaran dilakukan selang beberapa waktu setelah
barang diterima sesuai dengan perjanjian kedua belah pihak.
55
Hal-hal yang harus diperhatikan dalam proses pembelian adalah :
a. Kualitas
b. Harga
c. Waktu Proses