Upload
phungkhue
View
222
Download
0
Embed Size (px)
Citation preview
6
BAB 2
LANDASAN TEORI
2.1 Teori Dasar
2.1.1 Pendekatan Basis data
a. Data
Pengertian data menurut Turban, Rainer, Potter (2003, p15) adalah
fakta-fakta yang belum diolah atau gambaran lebih lanjut dari benda-benda,
kejadian-kejadian, kegiatan-kegiatan dan transaksi yang ditangkap,
direkam, disimpan, dan diklasifikasikan tetapi tidak disusun untuk
menyampaikan arti khusus lainnya.
Menurut Indrajani (2009, p2), data adalah fakta atau observasi
mentah yang biasanya mengenai fenomena fisik atau transaksi bisnis.
Lebih khusus lagi, data adalah ukuran objektif dari atribut (karakteristik)
dari entitas seperti orang, teks, gambar, bunyi, dan kombinasinya.
b. Basis data
Menurut Connolly dan Begg (2002, p15), database adalah
kumpulan dari data yang terhubung secara logika, dan merupakan deskripsi
dari data tersebut, yang dirancang untuk memenuhi kebutuhan informasi
dari suatu organisasi.
Menurut Maslakowski & Butcher (2000, p10-11), basis data adalah
rantaian dari file terstruktur dalam komputer yang terorganisasi secara
7
efisien. Kumpulan file ini dapat menyimpan banyak sekali informasi yang
dapat dimanipulasi dan dipanggil ketika diperlukan.
Menurut Ramakrishnan & Gehrke (2003, p4) basis data adalah
kumpulan data yang menjelaskan satu atau lebih relasi dari sebuah
organisasi.
Menurut Hoffer et al (2005, p4) basis data adalah kumpulan data
yang terorganisir dan secara logika berkaitan. Terorganisir maksudnya data
distrukturkan sehingga mudah untuk disimpan, dimanipulasi dan diperoleh
oleh pengguna. Berkaitan maksudnya, data menggambarkan daerah asal
(domain) kepentingan tertentu bagi kelompok pengguna dan pengguna
dapat menggunakan data untuk menjawab pertanyaan seputar domain itu.
Sedangkan menurut Silberschatz et al (2002, p1) database adalah
kumpulan data yang menyimpan informasi-informasi yang penting bagi
perusahaan.
Menurut McLeod (2001, p258) basis data adalah suatu koleksi data
komputer terintegrasi, diorganisasikan dan disimpan dengan suatu cara
yang memudahkan pengambilan kembali. Tujuan utama dari konsep basis
data adalah meminimumkan pengulangan data dan mencapai independensi
data. Pengulangan data (data redudancy) adalah duplikasi data yang berarti
data yang sama disimpan dalam beberapa file. Independensi data adalah
kemampuan untuk membuat perubahan dalam struktur data tanpa membuat
perubahan pada program yang memproses data.
8
Relational database adalah kumpulan dari relasi yang sudah
dinormalisasikan dengan nama relasi yang jelas. Relational database
meliputi relasi yang sudah terstruktur dengan tepat (Connolly & Begg
2002, p74)
2.1.2 Sistem Manajemen Basis Data (DBMS)
Menurut Connolly & Begg (2002, p16), Database Management
System (DBMS) adalah sebuah system peranti lunak yang memungkinkan
user untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke
basis data.
Menurut Silberscratz et al. (2002, p1), DBMS adalah kumpulan data
yang saling berhubungan dan kumpulan dari program-program yang
mengakses data tersebut. Tujuan utama dari adanya DBMS adalah untuk
memudahkan user dalam menyimpan dan mengambil informasi.
Menurut Elmasri dan Navathe (2000, p5), DMBS adalah sekumpulan
program yang mengizinkan user untuk membuat dan memelihara basis data.
a. Fasilitas DBMS
DBMS Menyediakan beberapa fasilitas sebagai Berikut:
i. Data Definition Language (DDL) yang memperbolehkan user untuk
mendefinisikan basis data, menspesifikasikan tipe data, struktur, dan
constraint pada data yang akan disimpan dalam basis data.
ii. Data Manipulation Language (DML) yang memperbolehkan user
untuk insert, update, delete, dan retrieve data dari basis data.
9
Terdapat suatu fasilitas yang melayani pengaksesan data yaitu
Structured Query language (SQL).SQL merupakan bahasa query
yang menjadi standar untuk DBMS.
iii. Menyediakan akses kendali pada basis data seperti:
i. Sistem keamanan yang mencegah pengguna tak berwewenang
mengakses basis data.
ii. Sistem integritas yang memelihara konsistensi data dari data
yang disimpan.
iii. Sistem kendali konkurensi yang memungkinkan pembagian
akses terhadap basis data.
iv. Sistem kendali recovery yang mengembalikan basis data
kembali kepada keadaan konsisten sebelumnya.
v. Katalog yang dapat diakses oleh user yang berisi deskripsi data
dalam basis data.
iv. View yang berguna untuk menampilkan data yang diinginkan
oleh user.
b. Komponen DBMS
Database Management System (DBMS) memiliki komponen-
komponen utama dalam lingkungannya, Menurut Thomas Connolly dan
Carolyn Begg (2002, p18-20), terdapat lima komponen DBMS yaitu:
i. Hardware
DBMS dan aplikasi membutuhkan hardware agar dapat
dijalankan. Hardware dapat berkisar dari sebuah PC, sebuah
10
mainframe, dan jaringan dari komputer-komputer. Hardware
tertentu bergantu pada kebutuhan perusahaan dan DBMS yang
digunakan. Beberapa DBMS hanya dapat bekerja pada hardware
atau sistem operasi tertentu. DBMS membutuhkan jumlah
minimum dari main memory dan space disk untuk bekerja.
ii. Software
Komponen software terdiri dari software DBMS itu sendiri
dan program aplikasi, bersama dengan sistem operasi, termasuk
network software jika DBMS digunakan pada jaringan. Pada
umumnya, program aplikasi ditulis dalam bahasa pemrograman
generasi ketiga (3GL), seperti C, C++, C#, Java, Visual Basic,
COBOL, dan sebagainya, atau menggunakan bahasa
pemrograman generasi ke-empat (4GL) seperti SQL yang
disesuaikan dalam bahasa generasi ke-tiga. DBMS
memungkinkan 4th generation tools sendiri yang memungkinkan
aplikasi dikembangkan secara cepat. Kegunaan dari 4th generation
tools dapat meningkatkan produktivitas secara signifikan dan
menghasilkan program yang lebih mudah dipelihara.
iii. Data
Komponen terpenting dari DBMS, terutama dari sudut
pandang end user, adalah data. Data bertindak sebagai jembatan
antara komponen mesin dan komponen manusia. Basis data
11
memiliki baik data operasional dan metadata. Struktur dari basis
data disebut skema.
iv. Prosedur
Prosedur merujuk pada instruksi dan aturan yang mengatur
desain dan penggunaan dari basis data. Pengguna sistem dan staff
yang mengatur basis data membutuhkan dokumentasi prosedur
pada bagaimana menggunakan atau menjelaskan sistem. Hal ini
terdiri dari instruksi-instruksi dalam bagaimana:
i. Log on pada DBMS.
ii. Menggunakan fasilitas DBMS tertentu atau aplikasi
program.
iii. Memulai dan menghentikan DBMS.
iv. Membuat salinan backup dari basis data.
v. Mengatasi kegagalan hardware atau software. Ini termasuk
prosedur bagaimana mengidentifikasikan komponen yang
gagal, bagaimana memperbaiki komponen yang gagal, dan
mengembalikan basis data ke keadaan semula.
vi. Mengubah struktur dari tabel, mengatur ulang basis data
melalui multiple disks, meningkatkan performa, atau
menyimpan data pada secondary storage.
v. Manusia
Komponen manusia terdiri dari:
12
i. Data administrator adalah orang yang berwenang untuk
mengatur sumber data termasuk merencanakan basis data,
mengembangkan dan memelihara, kebijakan dan prosedur,
dan desain konseptual atau logikal basis data.
ii. Database administrator adalah orang yang bertanggung
jawab untuk realisasi fisikal dari basis data, termasuk
desain fisikal basis data dan implementasi, kontrol
keamanan dan integritas, memelihara sistem operasional,
dan memastikan kepuasan performa aplikasi untuk user.
iii. Database designer terbagi menjadi dua yaitu logical
database designer dan physical database designer.
i. Logical database designer adalah orang yang
mengidentifikasi data (entitas dan atribut), hubungan
antar data, dan constraint data yang disimpan dalam
basis data. Logical database designer harus memiliki
secara menyeluruh dan mengerti sepenuhnya dari data
perusahaan dan peraturan bisnis. Peraturan bisnis
menjelaskan karakteristik utama dari data yang dilihat
oleh perusahaan.
ii. Physical database designer adalah orang yang
memutuskan bagaimana desain logikal basis data
direalisasikan. Hal ini termasuk mapping desain
logikal basis data ke dalam tabel dan constraint yang
13
terintegritas, memilih struktur penyimpanan spesifik
dan metode akses untuk data disimpan dalam performa
yang baik, dan mendesain ukuran sekuritas yang
dibutuhkan data.
iv. Application developers adalah orang yang bertanggung
jawab mengimplementasikan program aplikasi yang
menyediakan fungsionalitas yang dibutuhkan untuk end
user setelah basis data diimplementasikan.
v. End user terdiri dari dua macam yaitu naïve users dan
sophisticated users.
i. Naïve users yaitu orang yang secara umum tidak
mengetahui mengenai DBMS. Mereka mengakses
basis data melalui program aplikasi yang secara
khusus ditulis.
ii. Sophisticated user yaitu orang yang familiar
dengan struktur basis data dan fasilitas yang
disediakan DBMS sehingga mereka mungkin
menulis program aplikasi untuk mereka gunakan
sendiri.
14
2.1.3 System Database Life Cycle
Gambar 2.1 System Database Life Cycle
A. Perencanaan basis data (database planning)
Perancangan basis data adalah sebuah aktivitas manajemen yang
memungkinkan tahapan-tahapan dari aplikasi basis data terealisasi
15
dengan seefektif dan seefisien mungkin (Connolly, 2002, p273). Terdapat
tiga hal penting yang menyangkut perumusan sebuah strategi sistem
informasi, yaitu:
i. Identifikasi rencana dan sasaran perusahaan dengan penentuan
kebutuhan sistem informasi berikutnya.
ii. Evaluasi dari sistem informasi yang sedang berjalan untuk
menentukan kelebihan dan kekurangan yang ada.
iii. Penafsiran peluang teknologi informasi yang mungkin memberikan
keuntungan kompetitif.
Langkah-langkah dalam perencanaan basis data:
i. Mendefinisikan mission statement dari proyek basis data. Mission
statement ini menjelaskan tujuan utama dari aplikasi basis data.
Sebuah mission statement membantu dalam mengklarifikasi tujuan
dari proyek basis data dan menyediakan jalur yang lebih jelas dalam
pembuatan aplikasi basis data yang dibutuhkan secara efektif dan
efisien.
ii. Mengidentifikasi mission objective, setiap mission objective harus
mengidentifikasikan sebuah tugas tertentu yang harus didukung oleh
basis data. Asumsinya, apabila basis data mendukung mission
objective maka mission statement dapat tercapai.
16
B. Definisi sistem
Definisi sistem menggambarkan lingkup dan batasan dari aplikasi
basis data dan user view yang utama (Connoly, 2002, p274).
User view mendefinisikan apa yang dibutuhkan dari aplikasi basis
data yang dilihat dari sudut pandang sebuah peran kerja (seperti manajer
atau supervisor) atau area aplikasi (seperti marketing, personalia, atau
kontrol stok) (Connolly, 2002, p275).
Identifikasi user view ini merupakan aspek yang penting dalam
pengembangan sebuah aplikasi basis data karena user view membantu
untuk memastikan bahwa tidak ada pengguna utama yang terlupakan saat
mengembangkan aplikasi yang baru. Selain itu, user view juga membantu
dalam pengembangan aplikasi basis data yang relatif rumit dengan
memungkinkan kebutuhan dipecah menjadi bagian-bagian yang dapat
diatur.
C. Pengumpulan Kebutuhan dan Analisis Data
Pengumpulan kebutuhan dan analisis data merupakan proses
mengumpulkan dan menganalisis informasi yang berhubungan dengan
bagian dari organisasi yang akan didukung oleh aplikasi basis data dan
menggunakan informasi tersebut untuk mengidentifikasi kebutuhan
pengguna dari sistem baru (Connolly, 2002, p276).
17
Teknik yang digunakan untuk mendapat informasi yang
dibutuhkan tersebut dinamakan fact-finding. Informasi yang dikumpulkan
untuk setiap user view yang utama meliputi (Connolly, 2002, p276):
i. Deskripsi dari data yang digunakan atau dihasilkan.
ii. Detail mengenai bagaimana data digunakan atau dihasilkan.
iii. Kebutuhan tambahan untuk aplikasi basis data yang baru.
D. Perancangan Basis data
Perancangan basis data merupakan proses untuk membuat
rancangan untuk basis data yang akan mendukung operasi dan tujuan dari
perusahaan (Connolly, 2002, p279). Terdapat dua pendekatan dalam
perancangan basis data, yaitu:
i. Pendekatan bottom-up
Pendekatan ini dimulai dari atribut tingkat dasar (entitas dan
relationship) yang melewati analisis dari hubungan antar atribut,
yang dikelompokkan ke dalam relasi yang mewakili tipe dari entitas
dan hubungan antar entitas. Pendekatan ini cocok untuk perancangan
basis data yang sederhana dengan jumlah atribut sedikit.
ii. Pendekatan top-down
Pendekatan ini dimulai dengan pengembangan midel data yang
mengandung entitas tingkat tinggi beserta hubungan-hubungannya
dan melakukan perbaikan top-down untuk mengidentifikasikan
entitas tingkat rendah, hubungan-hubungannya dan atribut-atribut
18
yang saling berhubungan. Pendekatan ini biasanya digambarkan
dengan menggunakan konsep dari model Entity-Relationship (ER),
mulai dengan identifikasi entitas dan hubungan-hubungan antar
entitas, yang berhubungan dengan organisasi.
Menurut Connolly (2002, p281) perancangan basis data terdiri dari
tiga tahap, yaitu perancangan konseptual, perancangan logikal, dan
perancangan fisikal. Berikut adalah penjelasan mengenai tahap-tahap
tersebut:
I. Perancangan basis data konseptual
Perancangan basis data konseptual merupakan proses
membangun sebuah model dari informasi yang digunakan dalam
perusahaan, yang tidak bergantung pada pertimbangan fisikal
(Connolly, 2002, p281).
Model data tersebut dibuat dengan menggunakan informasi
yang didokumentasikan dengan spesifikasi kebutuhan user.
Perancangan basis data konseptual tidak bergantung sama sekali
pada detail implementasi seperti DBMS, program aplikasi, bahasa
pemrograman, dan pertimbangan fisikal lainnya.
Tahapan yang dilakukan dalam perancangan basis data
konseptual dapat diuraikan sebagai berikut (Connolly, 2002, p423-
437):
i. Menentukan tipe entitas
Mengidentifikasikan tipe entitas utama yang dibutuhkan view.
19
ii. Menentukan tipe hubungan
Mengidentifikasi hubungan-hubungan yang penting antar tipe
entitas yang telah diidentifikasikan.
iii. Menentukan dan menghubungkan atribut dengan entitas
(relationship)
Menentukan atribut-atribut apa saja yang terdapat dalam suatu
entitas.
iv. Menentukan atribut domain
Menentukan domain pada setiap atribut yang ada di dalam
model data konseptual lokal.
v. Menentukan atribut candidate key dan primary key
Menentukan candidate key dari suatu entitas yang kemudian
akan dipilih sebuah primary key dari candidate key yang ada.
vi. Mempertimbangkan penggunaan enchanged modeling concepts
Mempertimbangkan perlu tidaknya menggunakan konsep model
spesialisasi atau generalisasi, agregasi, dan composition.
vii. Cek model untuk redudansi
Memeriksa model untuk menemukan adanya redudansi dalam
model.
viii. Validasi model konseptual lokal dengan transaksi user
Memeriksa apakah model konsepual lokal sudah dapat
memenuhi segala transaksi yang dilakukan user, jika masi ada
20
transaksi yang tidak dapat dilakukan secara manual maka perlu
dilakukan perbaikan dahulu.
ix. Review model data konseptual lokal dengan user
Melakukan pemeriksaan ulang dengan user untuk memastikan
apakah model konseptual ini sudah sesuai.
II. Perancangan basis data logikal
Perancangan basis data logikal merupakan proses
membangun sebuah model dari informasi yang digunakan dalam
perusahaan berdasarkan model data spesifik, tetapi tidak bergantung
pada DBMS tertentu dan pertimbangan fisikal lainnya (Connolly,
2002, p281).
Tahapan yang dilakukan dalam perancangan basis data
logikal adalah (Connolly, 2002, p442-472):
i. Membangun dan memvalidasi data model logikal untuk setiap
view, yang dapat diuraikan sebagai berikut:
a. Menghapus fitur yang tidak sesuai dengan model relasional
yaitu dengan menghilangkan relasi biner many-to-many,
relasi rekursif many-to-many, relasi kompleks, dan atribut
multi-valued.
b. Menurunkan relasi untuk model data logikal lokal yaitu
dengan membuat relasi model data logikal lokal untuk
21
merepresentasikan entitas relationship dan atribut yang telah
diidentifikasi.
c. Validasi relasi-relasi menggunakan normalisasi untuk
memeriksa relasi dalam model data logikal lokal
menggunakan teknik normalisasi.
d. Validasi relasi-relasi dengan transaksi user yaitu dengan
memeriksa relasi yang telah dibuat pada tahap sebelumnya
apakah mendukung transaksi ini untuk memastikan tidak
ada kesalahan yang dibuat selama membuat relasi-relasi.
e. Mendefinisikan batasan integritas adalah constraint yang
diharapkan untuk menjaga agar basis data tetap konsisten.
Data yang disimpan ke dalam sebuah basis data haruslah
valid dan konsisten.
ii. Membangun dan memvalidasi logikal data model global, yang
dapat diuraikan sebagai berikut:
a. Menggabungkan model data logikal lokal ke dalam model
logikal global yang menggambarkan perusahaan, yaitu
dengan menggabungkan entitas pada model data lokal yang
sama, memasukkan entitas yang unik pada setiap model data
lokal, menggabungkan hubungan dari model data lokal,
memasukkan hubungan yang unik dari setiap model data
lokal, melakukan pemeriksaan untuk entitas yang hilang,
foreign key, dan batasan integritas, kemudian
22
menggambarkan global ER, dan memperbaharui
dokumentasi.
b. Memvalidasi model data logikal global dengan
menggunakan teknik normalisasi dan meyakinkan relasi
tersebut mendukung kebutuhan transaksi yang ada.
c. Menentukan apakah akan sering terjadi perubahan yang
drastis di masa yang akan datang dan menilai apakah model
data logikal global ini dapat mengakomodasikan perubahan
yang terjadi.
d. Melakukan pemeriksaan kembali dengan user untuk
menentukan apakah model ini sudah sesuai dengan
representasi perusahaan.
III. Perancangan basis data fisikal
Perancangan basis data fisikal adalah proses menghasilkan
deskripsi dari implementasi basis data dalam secondary storage.
Menjelaskan basis relasi, organisasi file, dan penggunaan index
untuk mencapai pengaksesan data yang efisien dan hal lain yang
berhubungan dengan batasan integritas dan masalah keamanan
(Connolly, 2002, p282).
Tahapan yang dilakukan pada perancangan basis data fisikal
adalah (Connolly, 2002, p479-503):
23
i. Menerjemahkan model data logikal global untuk target DBMS,
yang dapat diuraikan sebagai berikut:
a. Merancang relasi-relasi dasar
Menentukan bagaimana merepresentasikan relasi dasar yang
telah diidentifkasikan di dalam model data logikal global ke
dalam DBMS.
b. Merancang representasi dari data yang diturunkan
Menentukan bagaimana merepresentasikan beberapa data
yang diturunkan dalam model data logikal global ke dalam
DBMS.
c. Merancang batasan perusahaan.
ii. Merancang representasi fisikal, yang dapat diuraikan sebagai
berikut:
a. Menganalisa transaksi
b. Memilih organisasi file
c. Memilih index-index
d. Memperkirakan kebutuhan disk space
e. Merancang user view.
f. Merancang mekanisme keamanan.
24
E. Pemilihan DBMS
Tahap ini bertujuan untuk memilih DBMS yang tepat untuk
mendukung aplikasi basis data (Connolly, 2002, p284). Tahap-tahap
utama untuk memilih DBMS:
i. Mendefinisikan persyaratan studi referensi
ii. Mendaftar dua atau tiga produk
iii. Evaluasi produk
iv. Rekomendasi pilihan dan laporan produk
F. Perancangan Aplikasi
Perancangan aplikasi merupakan perancangan tampilan antar
muka dan aplikasi program yang digunakan dan memproses basis data
(Connolly, 2002, p287). Terdapat dua aspek dalam perancangan aplikasi,
yaitu:
i. Perancangan transaksi
Merupakan tindakan ataupun serangkaian tindakan yang
dilakukan oleh satu pengguna ataupun program aplikasi, yang
mengakses atau mengubah isi dari basis data (Connolly, 2002, p288).
Tujuan dari perancangan transaksi adalah untuk
mendefinisikan dan mendokumentasikan karakteristik tingkat tinggi
dari transaksi yang dibutuhkan pada basis data, meliputi:
a. Data yang akan digunakan oleh transaksi.
b. Karakteristik fungsional dari transaksi.
25
c. Hasil dari transaksi.
d. Kepentingan untuk pengguna.
e. Nilai yang diharapkan dari pemakaian.
Perancangan ini harus dilakukan lebih awal dalam proses
perancangan untuk memastikan bahwa basis data yang
diimplementasikan mampu mendukung semua transaksi yang
dibutuhkan. Ada tiga jenis transaksi, yaitu:
a. Retieval transactions
Digunakan untuk mengambil data untuk ditampilkan pada layar
atau pada laporan.
b. Update transactions
Digunakan untuk memasukkan record baru, menghapus record
lama, atau mengubah record yang terdapat di dalam basis data.
c. Mixed transactions
Meliputi retrieval (pengambilan) dan update (pengubahan) data.
ii. Perancangan antar muka
G. Membuat Prototype
Membuat prototype berarti pembuatan model kerja dari aplikasi
basis data (Connolly, 2002, p291).
Prototype merupakan sebuah model kerja yang biasanya tidak
memiliki semua fitur yang diminta atau menyediakan semua
fungsionalitas dari sistem yang final. Tujuan dari pembuatan prototype
26
ini adalah memungkinkan pengguna untuk menggunakan prototype
tersebut untuk menentukan fitur-fitur dari sistem yang bekerja dengan
baik, dan jika mungkin mengusulkan sistem yang bekerja dengan baik,
dan mengusulkan peningkatan atau bahkan fitur-fitur baru pada aplikasi
basis data.
H. Implementasi
Implementasi merupakan realisasi fisikal dari basis data dan
perancangan aplikasi (Connolly, 2002, p292).
Implementasi basis data dapat dicapai dengan menggunakan DDL
(Data Definition Language) dari DBMS yang telah dipilih atau
menggunakan GUI (Graphical User Interface), yang menyediakan fungsi
yang sama sambil menyembunyikan perintah DDL tingkat rendah.
Program aplikasi diimplementasikan menggunakan 3GL (Third
Generation Language) atau 4GL (Fourth Generation Language).
I. Konversi dan Pemuatan Data
Konversi dan pemuatan data adalah proses memindahkan data
yang sudah ada ke dalam basis data yang baru dan mengubah aplikasi
yang ada untuk dapat berfungsi dengan basis data yang baru (Connolly,
2002, p292). Tahap ini diperlukan saat sistem basis data yang baru
menggantikan sistem yang lama.
27
J. Pengujian
Pengujian merupakan proses menjalankan program aplikasi
dengan tujuan untuk menemukan kesalahan-kesalahan (Connolly, 2002,
p293).
K. Pemeliharaan Operasional
Pemeliharaan operasional merupakan proses mengamati dan
memelihara sistem setelah dilakukan instalasi (Connolly, 2002, p293).
Aktivitas-aktivitas yang terlibat dalam tahap ini adalah:
i. Mengamati performa dari sistem, apabila performa jatuh di bawah
tingkat yang dapat diterima, maka perbaikan atau pengorganisasian
dari basis data perlu dilakukan.
ii. Memelihara dan memperbaharui aplikasi basis data (apabila
dibutuhkan). Kebutuhan baru disatukan dengan aplikasi basis data.
2.1.4 Entity Relational Modeling
a. Tipe entitas
Tipe entitas adalah sekumpulan objek yang memiliki sifat yang
sama, yang diidentifikasi oleh perusahaan dan memiliki keberadaan yang
independen (Connolly, 2002, p331). Keberadaaan dari entitas yang
independen ini dapat berupa fisik (nyata) maupun konseptual (abstrak).
28
b. Tipe relationship
Tipe relationship merupakan sebuah hubungan yang memiliki arti
di antara beberapa tipe entitas (Connolly, 2002, p334). Setiap tipe relasi
diberi nama yang menjelaskan fungsinya.
Relationship occurence merupakan sebuah hubungan yang dapat
diidentifikasi secara unik, yang meliputi satu kejadian dari masing-
masing tipe entitas yang berpartisipasi.
c. Atribut
Atribut merupakan properti atau sifat dari sebuah entitas atau tipe
relationship (Connolly, 2002, p338).
Domain atribut merupakan suatu kumpulan nilai yang
diperbolehkan untuk satu atau lebih atribut (Connolly, 2002, p338).
Atribut dapat diklasifikasikan sebagai berikut:
i. Simple dan composite attributes
Simple attribute merupakan sebuah atribut yang terdiri dari
satu komponen dengan keberadaaan yang independen (Connolly,
2002, p339).
Composite attribute merupakan sebuah atribut yang terdiri
dari beberapa komponen, masing-masing dengan keberadaan yang
independen (Connolly, 2002, p339).
29
ii. Single -valued dan multi-valued attributes
Single-valued attribute merupakan sebuah atribut yang
menyimpan satu nilai untuk setiap kejadian dari entitas (Connolly,
2002, p339).
Multi-valued attribute merupakan sebuah sebuah atribut yang
menyimpan beberapa nilai setiap kejadian dari entitas (Connolly,
2002, p340).
iii. Atribut turunan (derived attribute)
Derived attribute merupakan sebuah atribut yang mewakili
sebuah nilai yang dapat diturunkan dari nilai dari atribut yang
berelasi atau sekumpulan atribut, dan tidak harus dalam tipe entitas
yang sama (Connolly, 2002, p340).
iv. Keys
Candidate key merupakan sekumpulan atribut yang minimal
yang secara unik menidentifikasikan setiap kejadian dari entitas
(Connolly, 2002, p340).
Primary key merupakan candidate key yang terpilih untuk
secara unik mengidentikasi setiap kejadian dari entitas (Connolly,
2002, p341).
Composite key merupakan candidate key yang memilik dua
atau lebih atribut (Connolly, 2002, p341).
30
d. Tipe entitas kuat dan lemah
Tipe entitas kuat merupakan tipe entitas yang keberadaannya tidak
bergantung pada entitas lain (Connolly, 2002, p342). Karakteristik dari
entitas kuat ini adalah setiap kejadian entitas diidentifikasikan secara unik
menggunakan atribut primary key dari tipe entitas tersebut.
Tipe entitas lemah merupakan tipe entitas yang keberadaannya
bergantung pada entitas lain (Connolly, 2002, p343). Karakteristik dari
entitas lemah ini adalah setiap kejadian entitas tidak bisa diidentifikasi
secara unik dengan hanya menggunakan atribut yang berhubungan
dengan tipe entitas tersebut.
e. Structural constraint
Batasan utama dari relationship disebut multiplicity, yang artinya
jumlah dari kejadian-kejadian yang mungkin terjadi pada entitas yang
berhubungan dengan kejadian tunggal dari entitas melalui relationship
khusus (Connolly, 2002, p344).
Terdapat tiga jenis relationship sesuai dengan batasan perusahaan,
yaitu:
i. One-to-one (1:1)
Hubungan one-to-one terjadi ketika ada satu record dari tabel
pertama yang berkorespondensi dengan satu record dari tabel lain.
Contohnya setiap nama karyawan hanya memiliki satu nomor ID
karyawan.
31
ii. One-to-many (1 : *)
Hubungan one-to-many terjadi ketika setiap record dalam
tabel A bisa memiliki beberapa link dari tabel B namun masing-
masing record dari tabel B hanya bisa berkorespondensi dengan satu
record dari tabel A. Contohnya sebuah perusahaan dengan semua
karyawannya bekerja di gedung 1 (merupakan tabel A). Nama gedung
memiliki hubungan dengan banyak karyawan (merupakan tabel B).
Jadi, satu record dari tabel A, yaitu tabel nama gedung, memiliki
relasi dengan banyak nama karyawan dari tabel B.
iii. Many-to-many (* : *)
Hubungan many-to-many terjadi ketika setiap record dari
tabel A memiliki hubungan dengan record-record yang ada di tabel B
dan sebaliknya.
2.1.5 Normalisasi
Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan
relasi dengan sifat-sifat yang diinginkan, memenuhi kebutuhan data pada
perusahaan (Connolly, 2002, p441).
Tujuan utama dalam pengembangan model data logical pada sistem
basis data relasional adalah menciptakan representasi akurat suatu data,
relationship antar data dan batasan-batasannya. Untuk mencapai tujuan ini,
maka harus ditetapkan sekumpulan relasi.
32
Tujuan utama dari desain basis data relasional adalah untuk
mengelompokkan atribut-atribut ke dalam relasi-relasi sehingga
meminimalisasi redudansi data dan mengurangi penggunaan tempat
penyimpanan yang dibutuhkan untuk sebuah relasi dasar.
Proses normalisasi merupakan suatu teknik formal untuk menganalisis
relasi berdasarkan primary key dan ketergantungan fungsional antar atribut.
Proses ini dieksekusi dalam beberapa langkah. Setiap langkah mengacu ke
bentuk normal tertentu, sesuai dengan sifat yang dimilikinya. Setelah
normalisasi diproses, relasi menjadi secara bertahap lebih terbatas atau kuat
bentuk formatnya dan juga mengurangi tindakan update yang anomali. Ada
beberapa bentuk normalisasi, yaitu:
I. Unnormalized Form (UNF)
Merupakan suatu tabel yang berisikan satu atau lebih grup yang
berulang. Membuat tabel unnormalized yaitu dengan memindahkan
data dari sumber informasi ke dalam format tabel dengan baris dan
kolom.
II. First Normal Form (1NF)
Merupakan sebuah relasi dimana setiap irisan antara baris dan
kolom berisikan satu dan hanya satu nilai.
III. Second Normal Form (2NF)
Berdasarkan pada konsep full functional dependency, yaitu A
dan B. Second normal form merupakan atribut dari sebuah relasi, B
dikatakan fully dependent (bergantung penuh) terhadap A, jika B
33
functionally dependent pada A tetapi tidak pada proper subset dari A.
second normal form merupakan sebuah relasi dalam 1NF dan setiap
atribut non-primary-key bersifat fully functionally dependent pada
primary key.
IV. Third Normal Form (3NF)
Berdasarkan pada konsep ketergantungan transitif, yaitu suatu
kondisi dimana A, B dan C merupakan atribut dari sebuah relasi, maka
jika A→B dan B→C, maka C bergantung secara transitif pada A
melalui B (Jika A tidak functionally dependent pada B atau C). Third
normal form adalah atribut sebuah relasi dalam 1NF dan 2NF dan
dimana tidak terdapat atribut non-primary-key yang bersifat bergantung
secara transitif pada primary key.
V. Boyce-Codd Normal Form (BCNF)
Relasi yang hanya dan hanya jika setiap determinan adalah
candidate key.
Proses-proses yang terjadi yaitu:
i. UNF ke 1NF
Tunjuk satu atau sekumpulan atribut sebagai kunci untuk
tabel unnormalized. Identifikasikan grup yang berulang dalam
tabel unnormalized yang berulang untuk kunci atribut. Hapus grup
yang berulang dengan cara:
34
a. Masukkan data yang semestinya ke dalam kolom yang kosong
pada baris yang berisikan data yang berulang (flattening the
table).
b. Menggantikan data yang ada dengan salinan dari kunci atribut
yang sesungguhnya ke dalam relasi terpisah.
ii. 1NF ke 2NF
a. Identifikasikan primary key untuk relasi 1NF.
b. Identikasikan ketergantungan fungsional dalam relasi.
c. Jika terdapat ketergantungan parsial terhadap primary key,
maka hapus dengan menempatkannya dalam relasi yang baru
bersama dengan salinan determinan.
iii. 2NF ke 3NF
a. Identifikasikan primay key dalam relasi 2NF.
b. Identifikasikan ketergantungan fungsional dalam relasi.
c. Jika terdapat ketergantungan transitif terhadap primary key,
hapus dengan menempatkan dalam relasi yang baru bersama
dengan salinan determinan-nya.
iv. 3NF ke BCNF
a. Merupakan relasi yang sama dengan relasi yang ada di dalam
3NF.
b. Untuk ketergantungan fungsional A→B, maka ditetapkan
dalam relasi maka A harus merupakan candidate key.
v. BCNF ke 4NF
35
Menghilangkan multi-valued dependency dari relasi dengan
menempatkan atribut-atribut ke dalam suatu relasi baru bersama
dengan copy of determinant.
2.1.6 State Transition Diagram
State transition diagram (STD) menggambarkan bagaimana suatu
proses dihubungkan satu sama lain dalam waktu yang bersamaan (Jeffrey . A
et al 1996, p364), STD digambarkan dengan sebuah state yang berupa
komponen sistem yang menunjukkan bagaimana kejadian-kejadian tersebut
dari satu state ke state yang lain, sedangkan menurut Pressman (2001, p317),
State Transition Diagram (STD) menggambarkan kebiasaan dari suatu sistem
dengan menggambarkan kondisi dan kejadian yang menyebabkan perubahan
suatu kondisi.
Ada 2 macam simbol yang menggambarkan proses dalam State
Transition Diagram (STD), yaitu :
1. Gambar persegi panjang menunjukkan kondisi (state) dari sistem.
2. Gambar panah menunjukkan transisi antar state. Tiap panah diberi
label dengan ekspresi aturan. Label yang di atas menunjukkan
kejadian yang menyebabkan transisi terjadi. Label yang bawah
menunjukkan aksi yang terjadi akibat dari kejadian tadi.
36
Kondisi
aksi
Gambar 2.2 Simbol State Transition Diagram
2.2 Teori Pendukung
2.2.1 Pembelian
Menurut Render (2011, p414), pembelian adalah perolehan barang dan
jasa. Secara umum definisi pembelian adalah suatu usaha pengadaan barang
atau jasa dengan tujuan yang akan digunakan sendiri, untuk kepentingan
proses produksi maupun untuk dijual kembali.
Menurut Mulyadi (2001, p299), pembelian adalah suatu usaha yang
digunakan dalam perusahaan untuk pengadaan barang yang diperlukan
perusahaan. Transaksi pembelian digolongkan menjadi dua yaitu pembelian
lokal dan impor. Pembelian lokal adalah pembelian dari pemasok dalam
negeri sedangkan pembelian impor adalah pembelian dari pemasok luar
negeri.
2.2.2 Penjualan
Menurut Mulyadi (2011, p202), kegiatan penjualan terdiri dari
penjualan barang dan jasa, baik secara kredit maupun tunai. Dalam transaksi
penjualan kredit, jika order dari pelanggan telah terpenuhi dengan pengiriman
State 1
State 2
37
barang atau penyerahan jasa untuk jangka waktu tertentu perusahaan memiliki
piutang kepada pelanggannya. Dalam transaksi penjualan secara tunai, barang
atau jasa baru diserahkan oleh perusahaan kepada pembeli, jika perusahaan
telah menerima kas dari pembeli.
2.2.3 Unified Modelling Language (UML)
Menurut Whitten et al. (2004, p430), UML merupakan sekumpulan
konvensi tentang pemodelan yang digunakan untuk menspesifikasi atau
menggambarkan sistem software di dalam hal-hal tentang objek.
2.2.3.1 Macam-Macam Diagram UML
Penjelasan dari masing-masing diagram tersebut akan dijelaskan
dalam bentuk sub bab berikut ini :
2.2.3.1.1 Use Case Diagram
Use case adalah alat untuk menggambarkan fungsi-
fungsi sistem dari perspektif pengguna luar dan dalam cara dan
istilah yang mereka mengerti (Whitten, 2004, p272). Use case
digambarkan secara grafik oleh sebuah elips horizontal dengan
nama yang muncul di atas, di bawah atau di dalam elips. Sebuah
use case menggambarkan tujuan sistem dan rangkaian kegiatan
dan interaksi yang dilakukan user dalam mencapai tujuan
tersebut. Use case merupakan hasil penguraian batasan-batasan
fungsionalitas sistem ke dalam pernyataan – pernyataan yang
lebih pendek.
38
• Aktor
Actor adalah segala sesuatu yang perlu berinteraksi
dengan sistem untuk pertukaran informasi (Whitten, 2004,
p273). Aktor bisa didefinisikan sebagai berikut :
1. Aktor hanya memberikan informasi kepada sistem.
2. Aktor hanya menerima informasi dari sistem.
3. Aktor memberikan dan menerima informasi ke dan
dari sistem.
Adapun pertanyaan yang berguna untuk membantu
mengenali aktor dalam suatu sistem:
1. Siapa orang yang berkepentingan dalam sistem?
2. Dimana organisasi sistem akan digunakan?
3. Siapa yang akan diuntungkan dari penggunaan sistem?
4. Siapa yang akan memenuhi sistem dengan informasi,
menggunakan informasi dan menghapus informasi?
5. Siapa yang mendukung dan menggunakan sistem?
6. Apakah sistem menggunakan sebuah sumber dari luar?
7. Apakah satu bermain menjadi beberapa peran yang
berbeda?
8. Apakah sistem mempengaruhi dengan sistem
turunannya?
• Use Case
39
Use Case Model adalah dialog antara aktor dengan
sistem yang akan menggambarkan fungsi yang diberikan oleh
sistem. Ada beberapa pertanyaan yang dapat membantu
mengenal use case untuk sistem, yaitu sebagai berikut:
1. Apakah tugas dari setiap aktor?
2. Dapatkah aktor melakukan, membuat, menyimpan,
merubah, menghapus atau membaca informasi?
3. Apakah use case akan membuat, menyimpan,
mengganti, menghapus atau membaca informasi?
4. Dapatkah aktor menginformasikan sistem tentang
perubahan yang terjadi perubahan dari luar secara
mendadak?
5. Apakah aktor perlu menginformasikan tentang
kejadian dalam sistem?
6. Apakah use case akan mendukung dan
mempertahankan sistem?
7. Bisakah semua fungsi use case memenuhi kebutuhan?
• Use Case Relationship
Relationship digambarkan dengan garis di antara
dua simbol di dalam diagram use case. Arti hubungan yang
terjadi bisa bervariasi tergantung bagaimana garis
40
digambarkan dan tipe simbol apa yang mereka hubungkan
(Whitten, 2004, p273).
Jenis – jenis hubungan yang terjadi ada lima, yaitu
• Association
Sebuah hubungan antara sebuah actor dengan
sebuah use case dimana interaksi terjadi di antara mereka
(Whitten, 2004, p274).
• Extend
Sebuah use case yang terdiri dari langkah-langkah
yang dikutip dari use case yang lebih kompleks untuk
menyederhanakan use case asli dan memperluas
fungsionalitasnya. Biasanya ditandai dengan label
“<<extend>>” (Whitten, 2004, p274).
• Include
Sebuah use case yang mengurangi redundansi di antara
dua atau lebih use case dengan menggabungkan langkah-
langkah yang sering ditemukan. Hubungannya
digambarkan dengan “<<uses>>” (Whitten, 2004, p274).
• Depends on
Hubungan yang menggambarkan ketergantungan antar
use case. Jenis hubungan ini digambarkan dengan garis
yang berpanah dimulai dari satu use case menunjuk ke use
41
case tempat ia bergantung. Garis hubungan ditandai
dengan label “<<depends on>>” (Whitten, 2004, p275).
• Inheritance
Hubungan yang terjadi jika terdapat dua atau lebih
actor yang memiliki sifat yang sama (Whitten, 2004,
p275).
2.2.3.1.2 Class Diagram
Menurut Whitten et al. (2004, p441), class diagram
menggambarkan struktur objek yang terdapat pada sebuah
sistem. Diagram ini menunjukkan objek – objek yang
terdapat pada suatu sistem dan serta relasi antar objek-objek
tersebut.
2.2.3.1.3 Activity Diagram
Menurut Whitten et al. (2004, p442), activity diagram
digunakan untuk menggambarkan alur aktivitas dari proses
bisnis atau dari sebuah use case secara berurutan. Diagram
ini juga digunakan untuk menggambarkan action (tindakan)
yang akan dieksekusi ketika suatu proses sedang berjalan dan
beserta hasil dari proses eksekusi tersebut.
42
2.2.4 Visual Basic 6.0
Visual Basic merupakan cara termudah dan tercepat untuk membuat
aplikasi yang dijalankan di sistem operasi Microsoft Windows. Kata visual
merujuk kepada metode yang digunakan untuk membuat antar muka yang
bersifat grafis Graphical User Interface (GUI). Daripada menulis berbaris-
baris kode untuk menjelaskan pemunculan dan lokasi dari suatu elemen di
dalam antar muka, Pengguna dengan mudah dapat menambahkan objek yang
sebelumnya sudah dibangun ke dalam tempat dan posisi yang inginkan di
layar. Kata “Basic” merujuk kepada bahasa BASIC (Beginners All-Purpose
Symbolic Instruction Code), sebuah bahasa yang digunakan oleh banyak
programmer dibandingkan dengan bahasa lainnya dalam sejarah komputer.
Visual Basic telah berubah dari bahasa asli BASIC dan sekarang memiliki
ratusan pernyataan (statements), fungsi (functions), dan kata kunci
(keywords), dan kebanyakan diantaranya terkait dengan antar muka grafis di
Windows. Pengguna tingkat pemula sekalipun dapat membuat aplikasi dengan
mempelajari hanya beberapa kata kunci, sementara kekuatan dari bahasanya
membolehkan para pengguna tingkat professional mencapai apapun yang
dapat dihasilkan dengan menggunakan bahasa pemrograman Windows
lainnya.
Bahasa pemrograman Visual Basic tidak hanya identik dengan Visual
Basic saja. Sistem Pemrograman Visual Basic dalam bentuk Edisi Aplikasi,
telah dimasukkan ke dalam Microsoft Excel, Microsoft Access, dan banyak
aplikasi Windows lainnya juga menggunakan bahasa yang sama. Visual Basic
43
Scripting Edition (VBScript) adalah sebuah bahasa skrip yang digunakan
secara lebih umum dan merupakan bagian dari bahasa Visual Basic.
Fitur Data Access memungkinkan pengguna untuk membuat database,
aplikasi front-end, dan komponen di sisi server (scalable server-side
components) untuk hampir semua format database yang terkenal, termasuk
Microsoft Access, Microsoft SQL Server dan program pendukung database
lainnya.
2.2.5 Perancangan Piranti Lunak
Menurut Pressman (2001, p6), yang dimaksud dengan piranti lunak
adalah (1) kumpulan instruksi (program komputer) yang jika dieksekusi akan
menyediakan fungsi dan dayaguna yang diinginkan, (2) kumpulan struktur
data yang memungkinkan program untuk memanipulasi informasi dengan
memadai, dan (3) kumpulan dokumen yang menggambarkan operasi dan
penggunaan program. Dalam perancangan piranti lunak terdapat beberapa
macam model seperti linier sekuensial , spiral , incremental , dll. Penyusun
memilih model waterfall ( linier sekuensial ) karena langkah – langkahnya
berurutan dan sistematis.
44
Gambar 2.3 Waterfall Model
Langkah-langkah dalam model waterfall adalah sebagai berikut:
1. Rekayasa dan penyusunan sistem/informasi (Requirements)
Tahap ini dimulai dengan menyusun kebutuhan (requirement) untuk seluruh
elemen sistem dan kemudian mengalokasikan beberapa subset dari
kebutuhan tersebut pada piranti lunak (software). Proses ini sangat penting
ketika piranti lunak harus berinteraksi dengan elemen yang lainnya seperti,
perangkat keras (hardware), manusia, dan basis data (database).
2. Analisa kebutuhan piranti lunak (Analysis)
Proses pengumpulan kebutuhan pada tahap ini lebih diintensifkan dan
difokuskan pada piranti lunak Pengembang piranti lunak harus memahami
tentang fungsi yang dibutuhkan, perilaku, dayaguna dan tampilan layar dari
piranti lunak yang akan dikembangkan.
45
3. Perancangan (Design)
Perancangan piranti lunak sesungguhnya merupakan proses bertahap yang
berfokus pada empat atribut dari sebuah program: struktur data, arsitektur
piranti lunak, representasi tampilan layar, dan detail prosedural (algoritmik).
Proses desain menerjemahkan kebutuhan menjadi suatu representasi dari
piranti lunak yang dapat diakses sebelum pengkodean dimulai.
4. Pembuatan kode (Code generation)
Proses penerjemahan bentuk desain menjadi bentuk yang dapat dibaca oleh
mesin.
5. Pengujian (Testing)
Pengujian program dilakukan setelah kode dihasilkan. Proses pengujian
difokuskan pada bagian internal software secara logis, memastikan bahwa
setiap pernyataan (statement) telah diuji, dan pada bagian eksternal fungsi, di
mana dilakukan pengujian untuk menemukan error dan memastikan bahwa
masukan yang ditentukan akan memberikan hasil yang diharapkan.
6. Pemeliharaan (Maintenance)
Ketika piranti lunak telah selesai dikembangkan dan dikirimkan kepada
pelanggan, piranti lunak tersebut mungkin akan mengalami masalah atau
error yang tidak diharapkan sebelumnya. Untuk itu, tahapan pemeliharaan
dilakukan dengan tujuan melakukan penyesuaian dan perbaikan pada piranti
lunak tersebut.
46
2.2.6 Microsoft Access
Menurut Rhizki Dwimawesa, Microsoft Access adalah aplikasi
manajemen basis data yang sederhana dan dapat digunakan untuk
mengurutkan dan mengatur informasi penting yang diperlukan. Kemudahan
penggunaannya menjadikan software ini banyak digunakan baik oleh
pengguna komputer yang baru mengenal basis data maupun yang sudah
berpengalaman dengan basis data.
Pada Microsoft Access terdapat 6 buah objek database yang dapat
dibuat yaitu Table, Query, Form, Report, Macro dan Module. Pengguna dapat
meng-import atau mengambil data dari aplkasi lain misalnya dari data dalam
aplikasi Microsoft Excel, Lotus 1-2-3 atau file teks
Database yang dibentuk dapat berisi ratusan, ribuan bahkan jutaan data.
Data yang sudah disimpan juga dapat dicari kembali dengan mudah, dibantu
dengan fitur pencarian. Untuk menyajikan data dalam tampilan yang lebih
mudah dimengerti, pengguna dapat mengunakan database Form atau Report.