bab 2 tinjauan pustaka -...
TRANSCRIPT
7
BAB 2
TINJAUAN PUSTAKA
2.1 Teori-Teori Umum
2.1.1 Pengertian Sistem Basis Data
Menurut Connolly dan Begg (2010, p54) Sistem Basis Data
adalah sekumpulan data logical yang berhubungan dan dirancang untuk
mengumpulkan informasi bagi perusahaan.
Menurut Elmasri (2011, p4) Sistem Basis Data adalah
sekumpulan data yang berhubungan yang digunakan oleh sistem.
Menurut Frost (2006, p6) Sistem Basis Data adalah kumpulan
data-data yang digunakan oleh sistem.
Dengan demikian dapat disimpulkan bahwa Sistem Basis Data
adalah sekumpulan data yang berhubungan yang digunakan oleh sistem
dengan menggunakan DBMS (Database Management System).
2.1.2 Pengertian Data
Menurut Elmasri dan Navathe (2011, p4) Data adalah fakta
yang dapat direkam atau disimpan dan memiliki arti yang jelas.
2.1.3 Pengertian Basis Data
Menurut Elmasri dan Navathe (2011, p4) Basis data adalah
kumpulan data-data yang saing berhubungan.
2.1.4 Pengertian ANSI SPARC
Menurut Connolly (2010, p34) ANSI-SPARC adalah
arsitektur yang digunakan oleh kebanyakan DBMS komersil. ANSI-
SPARC memiliki tiga level yakni:
8
1. Level Eksternal
Level ini merupakan level individual user, di mana
masing-masing user hanya akan berkepentingan dengan satu
bagian saja. Cara pandang masing-masing user bersifat
abstrak bila dibandingkan dengan bagaimana sebenarnya data
itu disimpan. Masing-masing pandangan user tersebut disebut
external view, yang berisi berbagai tipe eksternal record
Level ini berkaitan erat dengan pengguna, di mana dari
tiap pengguna hanya memerlukan sebagian data yang ada
dalam basis data. Cara pandang eksternal hanya terbatas pada
entitas, atribut dan hubungan antara entitas yang diperlukan
saja.
Karakteristik level eksternal ini adalah sebagai berikut:
a) Cara Pandang user terhadap basis data.
b) Menjelaskan bagaimana data yang ada
direpresentasikan untuk user yang berbeda.
2. Level Konseptual
Level ini merupakan representasi informasi
keseluruhan isi basis data, di mana seluruh pandangan
masing-masing user digabungkan. Perwujudannya abstrak,
bila dibandingkan dengan bagaimana data sesungguhnya
tersimpan secara fisik. Pandangan konseptual ini berisi
berbagai tipe dari konseptual record yang didefinisikan oleh
konseptual skema, ditulis ke dalam Data Definition Language
(DDL). Pendefinisian skema konseptual dimaksudkan untuk
menyertakan fitur-fitur tambahan, seperti security dan
integrity. Beberapa tujuan utama skema konseptual
diantaranya mengambarkan enterprise secara lengkap,
bagaimana data tersebut digunakan, bagaimana aliran data di
dalam enterprise, kegunaan data untuk setiap proses, dan
proses kontrol atau audit yang diberikan setiap proses.
9
Karakteristik level konseptual ini adalah sebagai
berikut:
a) Cara pandang keseluruhan basis data.
b) Menjelaskan data apa saja yang tersimpan dan
hubungan antar data.
3. Level Internal
Merupakan level terendah dalam representasi
keseluruhan basis data. Level ini berisikan berbagai tipe
internal record yang didefinisikan oleh skema internal. Selain
itu juga menjelaskan mengenai alokasi ruang penyimpanan
data dan index serta bagaimana perwujudan field-field yang
disimpan, deskripsi record untuk penyimpanan yang disertai
dengan ukuran penyimpanan untuk data elemen, penempatan
data, dan teknik enkripsi atau pengamanan data. Dengan kata
lain, level ini berkaitan erat dengan storage structure atau
storage database yang menerangkan tempat penyimpanan
data pada internal view dan storage structure definition yang
menjelaskan hubungannya dengan cara pengaksesan data
yang tersimpan.
Karakteristik level internal adalah sebagai berikut:
a) Berkaitan dengan penyimpanan secara fisik.
b) Menjelaskan bagaimana data yang ada
disimpan dalam basis data.
10
Gambar 2.1 Level ANSI - SPARC
2.1.5 Pengertian Database Management System
Menurut Connolly dan Begg (2010, p66) Database
Management System adalah sebuah sistem software yang
memungkinkan user untuk mendefinisikan, membuat, menjaga, dan
memiliki akses ke basis data.
Di dalam DBMS juga memugkinkan user untuk
mendefinisikan basis data dengan menggunakan DDL (Data Definition
Language). DDL ini memungkinkan user untuk menspesifikasikan tipe
dari data dan strukturnya dan batasan dari data yang disimpan dalam
basis data. selain itu, DBMS juga memungkinkan user dalam
melakukan insert, update, dan delete, dan mendapatkan data dari basis
data melalui DML (Data Manipulation Language). DBMS juga
memungkinkan user untuk melakukan hak akses ke dalam basis data.
Misalnya:
a) Sistem keamanan di mana dapat menghalangi user
yang tidak mempunyai hak akses terhadap basis data.
b) Sistem integritas dapat menjaga konsistensi dari data
yang tersimpan.
User 1 User 2 User 3
View 2 View 1 View 3
Conceptual Schema
Database
Internal Schema
External Level
Conceptual Level
Internal Level
Physical Data Organization
11
c) Memungkinkan recovery data yang disebabkan karena
kesalahan sistem.
Dengan demikian dapat disimpulkan bahwa Database
Management System adalah sebuah perangkat lunak yang
memungkinkan user untuk mendefinisikan, membuat, dan mengakses
basis data.
2.1.5.1 Komponen DBMS
Menurut Connolly dan Begg (2010, p68) ada lima
komponen-komponen dalam DBMS yaitu Hardware, Software,
Data, Procedures, dan People:
Gambar 2.2 Komponen DBMS
1. Hardware (Perangkat Keras)
DBMS dan aplikasi yang lain membutuhkan hardware
untuk dapat dijalankan. Beberapa DBMS hanya bisa
dijalankan pada hardware tertentu.
2. Software (Perangkat Lunak)
Perangkat-perangkat lunak yang dibutuhkan dalam
menjalankan DBMS. Misalkan : C, C++, C#, Java, Visual
Basic, COBOL, Fortran, dan Pascal.
3. Data
Data adalah bagian paling penting dalam DBMS
karena data berperan sebagai penghubung antara komponen-
komponen mesin dan komponen-komponen manusia.
Hardware Software Procedure People
Data
Bridge
Machine Human
12
4. Procedure
Procedure adalah bagaimana aturan-aturan dalam
menggunakan basis data. User membutuhkan procedure yang
terdokumentasi tentang bagaimana menjalankan sebuah sistem.
Misalnya :
a) Cara masuk ke DBMS.
b) Menggunakan fasilitas dalam DBMS.
c) Memulai dan menghentikan DBMS.
d) Membuat Backup data dari basis data.
e) Mengubah Struktur table.
5. People
Manusia yang terlibat di dalam penggunaan sistem
misalnya Database Administrator, End-user, pengembang
aplikasi, dan perancang basis data.
2.1.5.2 Keuntungan DBMS
Menurut Connolly dan Begg (2010, p77) keuntungan
dari DBMS antara lain:
1. Kontrol terhadap pengulangan data (Redudancy Data).
2. Konsistensi data.
3. Informasi yang lebih dari data yang sama.
4. Data yang dibagikan (Sharing of Data).
5. Meningkatkan Integritas data.
6. Meningkatkan keamanan.
7. Menambah Produktivitas.
8. Meningkatkan recovery data atau pemulangan data
apabila terjadi kesalahan.
2.1.5.3 Kerugian DBMS
Menurut Connolly dan Begg (2010, p80) kerugian dari
DBMS antara lain:
1. Kompleksitas (complexity).
2. Size atau ukuran.
13
3. Biaya dari DBMS.
4. Biaya konversi.
5. Performa yang menurun.
6. Dampak kegagalan yang kuat.
2.1.6 Pengertian Database Lifecycle
Menurut Connolly dan Begg (2010, p313) Database Lifecycle
merupakan bagian yang terpenting dari sistem basis data karena
berhubungan dengan sistem informasi yang ada.
Berikut ini adalah langkah-langkah dalam Database Lifecycle:
14
Gambar 2.3 Database Lifecycle (Connolly dan Begg, 2010, p313)
2.1.6.1 Database Planning
Menurut Connolly dan Begg (2010, p313) Database Planning
adalah merencanakan bagaimana tahapan dalam Database Lifecycle
bisa direalisasikan seefektif dan seefisien mungkin. Hasil yang ingin
dicapai dalam Database Planning adalah:
15
a. Mission Statement
Berisi tentang tujuan pembuatan basis data dan menyediakan
alur yang jelas terhadap pembuatan basis data secara efektif
dan efisien.
b. Mission Objective
Berisi tentang tugas-tugas yang harus dijalankan dan
mendukung sistem basis data serta apa saja langkah-langkah
yang harus dilakukan agar mission statement terpenuhi.
2.1.6.2 System Definition
Menurut Connolly dan Begg (2010, p316) System Definition
mengambarkan ruang lingkup dan batasan dari sistem basis data,
termasuk user view. sebelum masuk ke perancangan sistem basis data,
perlu dirancang batasan dari pembuatan sistem. user view
menggambarkan apa saja yang dibutuhkan oleh sistem basis data
dilihat dari sudut pandang jabatan, seperti manajer atau supervisior.
sehingga nantinya sistem basis data yang dibuat bisa memberikan
informasi yang berguna bagi user.
2.1.6.3 Requirements Collection and Analysis
Menurut Connolly dan Begg (2010, p316) Requirements
Collection and Analysis adalah proses pengumpulan data dan
menganalisa informasi tentang bagian dari organisasi yang akan
didukung oleh sistem basis data dan memakai informasi ini untuk
mengidentifikasi kebutuhan dari sistem baru yang akan dirancang.
Beberapa teknik yang digunakan dalam pengumpulan data dan
analisis ini adalah fact-finding techniques. Teknik fact-finding
techniques adalah cara pengumpulan data yang bisa dilakukan dengan
cara metode wawancara atau kuesioner. Lima kegiatan dalam fact-
finding techniques yaitu :
1. Memeriksa Dokumentasi
16
Menganalisis sistem yang sedang berjalan dengan
melihat dokumen-dokumen dalam perusahaan sehingga dapat
diketahui bagaimana aliran datanya.
2. Wawancara
Bertujuan untuk mengumpulkan fakta-fakta secara
lebih detail dengan melibatkan user secara langsung. Metode ini
memerlukan kemampuan komunikasi yang baik karena dalam
pelaksanaannya user yang terlibat berbeda-beda dan memiliki job-
role yang berbeda pula.
3. Observasi
Metode yang dilakukan dengan cara ikut serta atau
mengamati jalannya sistem. Dengan menggunakan metode ini bisa
didapatkan informasi lebih mengenai aktivitas dalam bisnis dan
mendapatkan informasi yang lebih banyak.
4. Penelitian
Jurnal-jurnal, buku-buku referensi dan internet
merupakan sumber informasi yang baik serta memberikan banyak
informasi.
5. Kuesioner
Kuesioner adalah cara pengumpulan data dengan
menyediakan pertanyaan-pertanyaan yang berhubungan dengan
proses bisnis. Ada dua tipe kuesioner yaitu open-ended quesion dan
close-ended quesion.
2.1.6.4 Database Design
Menurut Connolly dan Begg (2010, p320) Database Design
adalah proses membuat rancangan yang akan mendukung mission
statement dan mission objectives untuk sistem basis data yang
diperlukan. Dalam perancangan database ada tiga tahap yang
17
diperlukan yaitu perancangan konseptual, perancangan logical dan
perancangan fisikal.
Berikut ini dijelaskan mengenai tiga tahap perancangan
database:
1. Perancangan Konseptual
Proses membangun sebuah data model yang digunakan oleh
perusahaan, bersifat independent terhadap seluruh pertimbangan
fisikal yang ada. Pada tahapan ini, perancangan dimulai dengan
membuat model data konseptual dari perusahaan terhadap rincian
implementasi seperti target DBMS, appliation programs,
programming languages, hardware platform, performance issues,
atau physical cosideration lainnya. Langkah-langkah yang terdapat
dalam conceptual database design adalah:
1. Identify entity types
Bertujuan untuk mengidentifikasi tipe entitas dan objek
utama yang sesuai dengan kebutuhan user. Salah satu metode
yang digunakan untuk identifikasi entitas adalah dengan
memeriksa user requirements spesification. Melalui
spesifikasi ini, dilakukan identifikasi terhadap nouns atau
noun phrases yang disebutkan (misalnya: staff number,staff
name, property number, property address, rent, number of
rooms) serta turut memperhatikan objek utama lainnya yaitu
people, place, atau concepts of interest diluar noun lain
sebagai kualitas objek lainnya.
2. Identify relationship types
Bertujuan untuk mengidentifikasi important
relationships yang muncul antar tipe entitas dengan
melakukan beberapa hal yaitu menggunakan Entity
Relationship (ER) diagrams, menentukan multiplicity
constraints dari relationship types yang ada, memeriksa fan
18
dan chasm traps serta mendokumentasikan relationship types
tersebut.
3. Identify and associate attributes with entity or relationship
types
Bertujuan untuk menghubungkan atribut-atribut terkait
dengan entitas atau tipe yang telah disesuaikan. Terdapat
beberapa macam atribut yaitu simple atau composite
attributes, single atau multi-valued attributes, dan derived
attributes.
4. Determine attribute domains
Bertujuan untuk menentukan domain dari attribute
yang terdapat pada model data konseptual serta melakukan
dokumentasi terhadap setiap rinciannya. Domain merupakan
sekumpulan nilai dari satu atau lebih atribut yang
menggambarkan nilainya.
5. Determine candidate, primary, and alternate key attributes
Bertujuan untuk mengidentifikasi candidate keys setiap
entitas dan memilih sebuah primary key sebagai simbolik
yang unik dari beberapa candidate yang tersedia, turut
mengelompokkan alternate keys lainnya.
6. Consider use of enchanced modeling concepts (optional
step)
Bertujuan untuk mempertimbangkan penggunaan dari
modeling concepts semisal specialization atau generalization,
aggregation, dan composition. Pada tahap ini, pengembangan
terhadap ER model dilakukan dengan menggunakan beberapa
konsep modeling yang tersedia.
19
7. Check model for redundancy
Bertujuan untuk memeriksa redundansi pada model
dengan objek spesifik dan menghilangkan keberadaannya.
Terdapat 3 aktivitas pada langkah ini yaitu:
a. Memeriksa hubungan one-to-one (1:1) relationships
b. Menghilangkan redundansi relationships
c. Mempertimbangkan dimensi waktu
8. Validate conceptual data model againts user transaction
Bertujuan untuk memastikan bahwa conceptual data
model mendukung transaksi-transaksi yang diperlukan. Dua
pendekatan yang digunakan sebagai berikut:
a. Menjelaskan transaksi-transaksi
b. Menggunakan jalur transaksi
9. Review conceptual data model with user
Bertujuan untuk melakukan review pada conceptual
data model terhadap user sekaligus meyakinkan
pertimbangan model tersebut sebagai representasi sebenarnya
terhadap kebutuhan datasuatu perusahaan. Apabila
ditemukan adanya anomali data, maka dilakukan perbaikan
yang diperlukan dan disesuaikan dengan pengulangan atas
langkah-langkah yang ada.
2. Perancangan Logikal
Proses membangun sebuah data model yang digunakan
perusahaan berdasarkan sebuah spesifik model data, tetapi
independent terhadap particula DBMS dan physical consideration
lainnya dengan tujuan menterjemahkan conceptual data model ke
dalam logical data model, lalu divalidasikan untuk memeriksa
20
kebenarannya agar mampu mendukung transaksi yang diperlukan.
Langkah-langkah yang terdapat dalam logical database design
adalah:
1. Derive relation for logical data model
Bertujuan untuk membangun relasi logical data model
yang merepresentasikan entitas, relasi, dan atribut yang
telah terindentifiksai. Relasi yang diturunkan dari
conceptual data model meliputi:
a. Strong entity types
b. Weak entity types
c. One-to-many (1:*) binary relationship types
d. One-to-one (1:1) binary relationship types:
1) Mandatory participation on both sides of
1:1 relationship
2) Mandatory participation on one sides of
1:1 relationship
3) Optional participation on both side of
1:1 relationship
e. One-to-one (1:1) recursive relationship types
f. Superclass/subclass relationship types
g. Many-to-many (*:*) binary relationship types
h. Complex relationship types
i. Multi-valued attributes
21
Tabel 2.1 Pemetaan dari Entities dan Relationships
Entity/Relationship Mapping
Strong Entity Membuat suatu relasi yang menyertakan
keseluruhan simple attributes.
Weak Entity Membuat suatu relasi yang menyertakan
keseluruhan simple attribute (kemudian
harus dilakukan identifikasi terhadap
primary key setelah dilakukan mapping
hubungan dengan setiap owner entity).
1:* binary relationship Menyertakan primary key idari suatu
entitas pada sisi "one" yang bertindak
sebagai foreign key ke relasi yang
mempresentasikan entitas pada sisi
"many". Atribut daripada relasi juga
disertakan pada sisi "many".
One-to-one (1:1) binary relationship
types:
1) Mandatory participation on
both sides of 1:1 relationship
2) Mandatory participation on
one sides of 1:1 relationship
3) Optional participation on both
side of 1:1 relationship
Menggabungkan entitas-entitas ke dalam
satu relasi.
Menyertakan primary key entitas pada
sisi "optional" sebagai suatu entutas yang
merepresentasikan entitas oada sisi
"mandatory".
Tidak beraturan dengan tanpa further
information.
Supercalss/subclass relationship Lihat pada tabel 2.2
22
Entity/Relationship Mapping
*:* binary relationship, Complex
relationship
Membuat representasi relasi yang
menghubungkan dan termasuk di
dalamnya atribut yang terdapat di
relationship tersebut. Menyertakan
duplikasi primary keys dari setiap owner
entities ke dalam suatu relasi baru
sebagai foreign keys.
Multi-valued attribute Merepresentasikan sebuah
ketergantungan antar atribut dalam suatu
relasi, sehingga untuk setiap nilai A
terdapat satu set nilai untuk B dan satu
set nilai untuk C. Namun , set nilai untuk
B dan C yang independen satu sama lain.
Tabel 2.2 Representasi dari Superclass/Subclass Relationships
Participation Constraints Disjoint Constraint Relationship Required
Mandatory Nondisjoint {And} Relasi tunggal (dimana
terdapat satu atau lebih
discriminators untuk
membedakan tipe setiap
tuple).
Optional Nondisjoint {And} Dua relasi: satu relasi untuk
superclass dan satu relasi
untuk seluruh subclass,
(terdapat satu atau lebih
discriminators untuk
membedakan tipe setiap
23
tuple).
Participation Constraints Disjoint Constraint Relationship Required
Mandatory Disjoint {Or} Banyak relasi: satu relasi
yang ditujukan untuk
kombinasi yang terdapat
dari superclass/subclass.
Optional Disjoint {Or} Banyak relasi: satu relasi
ditujukan pada superclass
dan satu untuk masing-
masing subclass.
2. Validate relations using normalization
Bertujuan untuk melakukan validasi atas relasi yang
terdapat logical data model dengan menggunakan teknik
normalisasi. Penggunaan teknik tersebut diperlukan untuk
mengidentifikasi ketergantungan fungsional antar atribut
setiap relasi yang melalui beberapa langkah dalam
menentukan komposisi atribut suatu relasi, yaitu 1NF, 2NF,
dan 3NF, dst. Untuk menghindari redundansi data,
disarankan agara setiap relasi sekurang-kurangnya mencapai
hingga 3NF.
3. Validate relations againts user transaction
Bertujuan untuk memastikan bahwa relasi du dalam
logical data model dapat mendukung transaksi-transaksi
yang diperlukan sesuai dengan spesifiksai kebutuhan user.
4. Check integrity constraints
24
Bertujuan untuk memeriksa integrity constarints yang
direpresentasikan di dalam logical data model. Beberapa
tipe dari integrity constarints yang menjadi pertimbangan
adalah:
a. Required data
Terdapat beberapa atribut yang seharusnya memiliki
nilai valid atau tidak boleh null.
b. Atribute domain constraints
Setiap atribut memiliki sebuah domain yang berupa
kumpulan dari nilai yang memenuhi persyaratan-
persyaratan.
c. Multiplicity
Merepresentasikan batasan jumlah yang terdapat pada
hubungan antara data yang satu dengan data lainnya di
dalam basis data.
d. Entity integrity
Primary key yang terdapat pada sebuah entitas tidak
boleh bernilai null.
e. Referential integrity
Sebuah foreign key menghubungkan setiap tuple di
dalam child relation dengan tuple di dalam parent
relation yang berisikan nilai candidate key yang
bersesuaian.
f. General constraints
Batasan-batasan umum dimana updates di dalam suatu
entitas ditentukan berdasarkan representasi yang berasal
dari real worlds.
25
5. Review logical data model with user
Bertujuan untuk melakukan review terhadap logical
data model dengan user untuk meyakinkan bahwa model
yang menjadi pertimbangan merepresentasikan data yang
sebenarnya sesuai dengan kebutuhan perusahaan. Sebelum
memasuki tahap selanjutnya, terdapat hubungan antara
logical data model dengan data flow diagrams mengikuti
ketentuan sebagai berikut:
a. Setiap data yang disimpan harus
merepresentasikan seluruh jumlah entitas.
b. Atribut-atribut pada data flow harus mengacu
kepada tipe entitas.
6. Merge logical data models into global model (optional
step)
Bertujuan untuk menggabungkan logical data model
yang merepresentasikan satu atau lebih tetapi tidak seluruh
sudut pandang pengguna ke dalam sebuah global logical
data model yang merepresentasikan sebaliknya. Aktivitas
yang terdapat di dalam tahap ini adalah:
a. Menggabungkan local logical data model ke
dalam global logical data model
b. Melakukan validasi terhadap global logical data
model
c. Melakukan review global logical data model
dengan user
7. Check for future growth
26
Bertujuan untuk menentukan perubahan yang
diperlukan pada masa mendatang dan menilai apakah
logical data model dapat menyesuaikan terhadap perubahan
yang terjadi.
3. Perancangan Fisikal
Proses menghasilkan sebuah deskripsi mengenai implementasi
dari basis data pada secondary storage yang menjelaskan base
relations, file organizations, dan indexes yang digunakan untuk
memperoleh akses efisien terhadap data dengan integrity
constraints terkait serta security measures. Pada tahapan ini,
designer diperbolehkan untuk memilih bagaimana basis data akan
diimplementasikan sekaligus DBMS spesifik yang akan digunakan.
Langkah-langkah yang terdapat dalam physical database design
adalah:
1. Translate logical data model for target DBMS
a. Design base relations
Bertujuan untuk menentukan representasi base
relation teridentifikasi di dalam logical data model
terhadap target DBMS.
b. Design representation of derived data
Bertujuan untuk menentukan representasi dari
derived data yang ditampilkan pada logical data model
terhadap target DBMS.
c. Design general constraints
Bertujuan untuk merancang general constraints
terhadap target DBMS.
2. Design file organization and indexes
27
Bertujuan untuk mengoptimalkan file organization
untuk menyimpan base relation dan indexes yang
diperlukan agar memperoleh kinerja maksimal. Terdapat
beberapa aktivitas pada tahap ini, sebagai berikut:
a. Analyze transaction
Bertujuan untuk memahami funsionalitas dari
transaksi yang akan dijalankan pada basis data untuk
menganalisis transaksi yang bersifat penting.
b. Choose file organizations
Bertujuan untuk menentukan efisiensi file
organization terhadap base relations.
c. Choose indexes
Bertujuan untuk menentukan panambahan
indexes yang akan meningkatkan kinerja dari sistem.
d. Estimate disk space requirements
Bertujuan untuk melakukan estimasi kapasitas
penyimpanan pada disk yang dibutuhkan oleh basis
data.
3. Design user views
Bertujuan untuk merancang user view yang
diidentifikasikan selama requirement collection dan
analysis stage dari Database System Development Lifecycle.
4. Design security mechanisms
Bertujuan untuk merancang mekanisme keamanan
basis data yang disesuaikan selama tahapan requirement dan
collection pada Database System Development Lifecycle.
28
5. Consider the introduction of controleed redundancy
Bertujuan untuk menentukan introduction of controlled
redundancy (mengikuti ketentuan normalisasi) yang
digunakan agar sistem memberikan performa terbaik.
6. Monitor and tune the operational system
Bertujuan untuk melakukan monitorisasi pada
sistem operasional dan meningkatkan performa sistem
guna memperbaiki pengambilan keputusan yang tidak
tepat sekaligus refleksi terhadap perubahan persyaratan.
2.1.6.5 DBMS Selection
Menurut Connolly dan Begg (2010, p325) DBMS Selection
adalah pemilihan DBMS yang sesuai untuk mendukung sistem basis
data yang dibuat.
Langkah-langkah dalam pemilihan DBMS adalah sebagai berikut:
a) Menetapkan kerangka referensi belajar.
b) Daftar sederhana dari dua atau tiga produk.
c) Mengevaluasi produk.
d) Merekomendasikan seleksi dan menghasilkan laporan.
2.1.6.6 Application Design (Perancangan Aplikasi)
Perancangan dari user interface dan application programs
yang digunakan dan proses dari basis data.
Rancangan aplikasi dibagi menjadi:
a) Transaction Design (Rancangan Transaksi)
Menurut Connolly dan Begg (2010, p330) Transaksi adalah
sesuatu tindakan atau serangkaian tindakan yang dilakukan
oleh satu pengguna atau program aplikasi yang mengakses atau
mengubah isi basis data.
b) User interface Design
29
Ada tiga tipe utama transaksi, yaitu :
a) Retrieval Transaction
Digunakan untuk mengambil data yang ditampilkan dilayar
atau dalam produksi laporan transaksi. sebagai contoh operasi
untuk mencari dan menampilkan rincian properti.
b) Update Transaction
Digunakan untuk memasukkan record baru, menghapus record
lama, dan memodifikasi record yang ada didalam basis data.
Contoh untuk memasukkan properti baru kedalam basis data
yang sudah ada.
c) Mixed Transaction
Melibatkan baik pengambilan ataupun pembaharuan data.
Misalkan operasi untuk mencari dan menampilkan rincian
properti.
2.1.6.7 Prototyping
Menurut Connolly dan Begg (2010, p333) Prototyping adalah
membuat model dari sistem basis data. Tujuan utama dari pembuatan
prototyping ini adalah agar user bisa mengetahui rancangan basis data
yang nantinya akan dibangun apakah sesuai dengan kebutuhan user
atau belum, dan keperluan untuk perbaikan atau tidak.
2.1.6.8 Implementation
Menurut Connolly dan Begg (2010, p333) Implementation
adalah realisasi fisik basis data dan aplikasi desain.
Implementation sistem basis data tercapai dengan
menggunakan Data Definition Language (DDL) dari DBMS yang
dipilih atau Graphical User Interface (GUI) yang menyediakan fungsi
yang sama ketika sampai menyembunyikan low level pernyataan
DDL.
Bagian dari program aplikasi ini adalah database transaction
yang diimplementasikan menggunakan Data Manipulation Language
30
(DML) dari DBMS target, yang mungkin tersimpan didalam host
programming language.
2.1.6.9 Data Conversion and Loading
Menurut Connolly dan Begg (2010, p334) Data Conversion
and Loading adalah mentransfer semua data ke dalam basis data yang
baru dan mengkonversi semua aplikasi yang ada untuk dijalankan
pada sistem basis data yang baru.
2.1.6.10 Testing
Menurut Connolly dan Begg (2010, p334) Testing adalah
proses menjalankan sistem basis data baru dengan maksud
menemukan kesalahan atau apakah sistem sudah baik atau belum.
Beberapa keuntungan yang bisa didapatkan dalam testing
adalah sebagai berikut:
a) Menemukan kesalahan sebelum sistem diterapkan
dalam perusahaan,
b) Apakah sistem sudah berjalan sesuai dengan harapan
user.
2.1.6.11 Operational Maintenance
Menurut Connolly dan Begg (2010, p335) Operational
Maintenance adalah proses pemantauan dan pemeliharaan sistem basis
data pada instalansi berikutnya.
Beberapa kegiatan terkait dengan maintenance:
a) Memantau kinerja sistem yang sedang berjalan.
Apabila performa turun dibawah tingkat dapat diterima,
maka perlu dilakukan reorganisasi sistem basis data
yang diperlukan.
b) Mempertahankan dan meningkatkan sistem basis data.
Persyaratan baru dimasukkan ke dalam sistem basis
data melalui tahap-tahap siklus hidup.
31
2.1.7 Data Flow Diagram (DFD)
Menurut Connolly dan Begg (2010, p117) Data Flow
Diagram (DFD) adalah sebuah gambaran grafis yang menggambarkan urutan
dari proses-proses dan fungsi-fungsi yang terkandung dalam sebuah batasan
spesifikasi sistem serta aliran data yang melewati sistem tersebut.
Tingkatan dalam DFD :
a. Diagram Konteks
Mengambarkan seluruh input atau output ke sistem. Diagram Konteks
ini merupakan level tertinggi dari DFD.
b. Diagram Nol
Menggambarkan rincian dari diagram konteks dan memperlihatkan
data store yang digunakan.
c. Diagram Rinci
Merupakan rincian diagram diatasnya.
Simbol-simbol dalam DFD :
No Simbol Keterangan
1
Entitas eksternal, dapat berupa orang
atau unit terkait yang berinteraksi dengan
system tetapi di luar system
2 Orang, unit yang menggunakan atau
melakukan transformasi data, komponen
fisik tidak diidentifikasikan
3 Aliran data dengan arah khusus dari
sumber ke tujuan
4 Penyimpanan data atau tempat arah
khusus dari direfer oleh proses
Gambar 2.4 Simbol DFD
2.1.8 Flowchart Diagram
Menurut Romney (2003, p163) Flowchart Diagram adalah teknik
analis yang digunakan untuk menjelaskan beberapa aspek dari sistem
Entitas
Proses
Data Store
32
informasi dalam bentuk yang jelas dan ringkas. Flowchart dapat digunakan
untuk mendeskripsikan gambaran dari proses transaksi sebuah perusahaan
dan aliran data melalui sistem.
Simbol flowchart diagram terdapat dalam empat kategori antara lain:
1. Input atau output merupakan representasi sebuah simbol
yang menyediakan masukkan atau merekam hasil dari proses
operasi.
2. Processing Symbol merupakan tipe dari suatu simbol yang
digunakan untuk memproses data atau mengidentifikasikan
data yang diproses secara manual.
3. Storage Symbol merupakan simbol yang digunakan untuk
menyimpan data yang tidak digunakan.
4. Flow and Miscellaneous Symbol merupakan indentifikasi
aliran data dan barang.
33
Simbol Nama Keterangan
Input/output symbols
Document Sebuah dokumen atau
laporan yang dibuat oleh
tulisan atau bantuan
komputer
Multiple
Document
Menjelaskan lebih dari
satu dokumen
Input/Output
Journal
Setiap fungsi input atau
output pada flowchart
dan digunakan untuk
menjelaskan jurnal dalam
dokumen flowchart
Processing Symbols
Computer
Processing
Fungsi pemrosesan
komputer yang
menghasilkan perubahan
pada data dan informasi
Manual
Operation
Proses pengoperasian
proses secara manual
Auxilary
Operation
Pemrosesan fungsi yang
dilakukan melalui sebuah
media bukan komputer
Storage Symbols
Magnetic Disk Penyimpanan data secara
permanen pada magnetic
disk, digunakan sebagai
database
34
Simbol Nama Keterangan
On line Storage Penyimpanan data secara
sementara
Flow and Miscellaneous Symbols
Processing Flow Arah dari proses dan
dokumen alur yang
normal yaitu ke bawah
dan ke kanan
On page
Connector
Menghubungkan proses
alur di halaman yang
sama
Off page
Connector
Masuk dari atau keluar
ke halaman lain
Decision Langkah-langkah untuk
pengambilan keputusan
yang digunakan dalam
flowchart untuk
menunjukkan langkah-
langkah alternatif
Gambar 2.5 Flowchart Diagram
2.1.9 Entitas kuat dan Lemah
Menurut Connolly dan Begg (2010, p383) Entitas kuat adalah
sebuah tipe entitas yang keberadaannya tidak bergantung pada beberapa
entitas yang lain. Karakteristik dari tipe entitas yang kuat adalah setiap
menggunakan atribut primary key dari entitas tersebut. Sebagai contoh
mengindentifikasi secara unik setiap anggota dari staff dengan menggunakan
atribut StaffNo, dimana StaffNo adalah primary key dari entitas staff.
35
Sedangkan entitas lemah adalah entitas yang keberadaannya
bergantung pada entitas yang lainnya. karakteristik dari entitas ini adalah
setiap kejadian entitas tidak bisa diindentifikasi secara unik dengan
menggunakan atribut dari entitas tersebut. Hanya bisa mengindentifikasi
secara unik entitas preference hanya melalui relationship yang dimiliki oleh
client terindentifikasi secara unik dengan menggunakan primary key dari
entitas client yaitu ClientNo.
Gambar 2.6 Strong Entity dan Weak Entity
2.1.10 Structural Constraint
Menurut Connolly dan Begg (2010, p385) Multiplicity adalah
sejumlah kejadian yang mungkin terjadi dari entitas yang berhubungan
dengan kejadian tunggal melalui relationship tertentu. Multiplicity
menggambarkan bagaimana entitas saling berhubungan. Ada tiga jenis tipe
relationship antara lain :
36
Gambar 2.7 Multiplicity One To One
Gambar 2.8 Multiplicity One To Many
37
Gambar 2.9 Multiplicity Many To Many
2.1.11 Normalisasi
Menurut Connolly dan Begg (2010, p416) Normalisasi adalah
teknik untuk memproduksi sekumpulan relasi dengan properti yang
diinginkan dan mengingat kebutuhan data dari suatu enterprise.
Tujuan dari normalisasi adalah untuk mengidentifikasikan
seperangkat relasi yang sesuai yang dapat mendukung kebutuhan data pada
sebuah perusahaan.
2.1.12 Proses Normalisasi
Normalisasi merupakan teknik formal untuk menganalisis
relasi berdasarkan primary key dan fungsional dependency. Ada beberapa
tahap dalam normalisasi yaitu :
1. Unnormalized Form (UNF)
Unnormalized Form adakah sebuah tabel yang mengandung
satu atau lebih grup yang berulang. Unnormalized Form adalah bagian awal
dari First Normal Form.
2. First Normal Form (1NF)
First Normal Form adalah sebuah relasi dimana persimpangan
antara basis dan kolomnya mengandung satu dan hanya mempunyai satu
nilai.
38
3. Second Normal Form (2NF)
Second Normal Form adalah relasi yang ada di First Normal Form
dan setiap atribut yang non primary key menjadi sepenuhnya bergantung pada
fungsi dari primary key.
4. Third Normal Form (3NF)
Third Normal Form adalah relasi yang ada pada First dan second
Normal Form dan dimana atribut yang non primary key beralih menjadi
dependent pada primary key.
2.1.13 Teori Pemograman PHP dan MySQL
2.1.13.1 Pengertian Hypertext prepocessor (PHP)
Menurut Sklar (2004, p1) PHP adalah bahasa pemograman
yang bersifat open source atau terbuka sehingga banyak digunakan
para pengembang web untuk membuat sebuah web yang dinamis dan
dapat berinteraksi dengan basis data.
PHP memiliki kelebihan sebagai berikut:
a) PHP tidak berbayar atau gratis.
b) PHP bersifat open source.
c) PHP bersifat cross-platform.
d) PHP dibuat untuk pemograman web.
2.1.13.2 Pengertian MySQL
Menurut Bunafit Nugroho (2004, p29) Mysql adalah sebuah
program basis data yang bersifat open source sehingga siapapun dapat
menggunakan secara bebas.
2.1.14 Teori Desain Eight Golden Rules
Menurut Shneiderman (2005, p74), delapan tahapan dalam merancang
antar muka untuk pengguna yaitu :
a) Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan
istilah yang digunakan pada prompt, menu, serta layar bantuan.
b) Memenuhi penggunaan universal
39
Kenali kebutuhan pengguna yang beragam sehingga
membutuhkan fitur yang umum digunakan untuk memudahkan
pengguna dalam mengerti dan menjalankan fitur-fitur yang ada.
c) Memberikan umpan balik yang informatif
Untuk setiap tindakan operator, sebaiknya disertakan suatu
sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak
terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi
ketika tindakan merupakan hal yang penting, maka umpan balik
sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah
menekan tombol pada waktu input data atau muncul pesan
kesalahannya.
d) Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok
dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif
akan memberikan indikasi bahwa cara yang dilakukan sudah benar
dan dapat mempersiapkan kelompok tindakan berikutnya.
e) Memberikan penanganan kesalahan yang sederhana
Sebisa mungkin sistem dirancang dengan baik sehingga
pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan
terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan
memberikan mekanisme penanganan yang sedehana dan mudah
dipahami.
f) Mudah kembali ke tindakan sebelumnya
Hal ini dapat mengurangi kekhawatiran pengguna karena
pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan
sehingga pengguna tidak takut untuk mengekplorasi pilihan-pilihan
lain yang belum biasa digunakan.
g) Mendukung tempat pengendali internal (internal locus of control)
Pengguna ingin menjadi pengontrol sistem dan sistem akan
merespon tindakan yang dilakukan pengguna daripada pengguna
merasa bahwa sistem yang mengontrol pengguna. Sebaiknya sistem
dirancang sedemikan rupa sehingga pengguna menjadi inisiator
daripada responden.
40
h) Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang
sederhana atau banyak tampilan halaman yang sebaiknya disatukan,
serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan
urutan tindakan.
2.2 Teori-Teori Khusus yang Berhubungan dengan Topik.
2.2.1 Pengertian Pemesanan
Menurut KBBI, pemesanan adalah proses perbuatan, cara memesan
atau memesankan. Pemesanan merupakan salah satu aktifitas dalam sebuah
perusahaan pemesanan dilakukan oleh konsumen, adanya pemesanan
membantu penjual menentukan jumlah persediaan barang. Menurut James
(2009, p225) Pemesanan dibagi lagi menjadi 2 kategori berdasarkan proses
dan isinya yaitu:
1. Pemesanan Penjualan (Sales Order)
Proses pemesanan yang dilakukan oleh pelanggan kepada perusahaan.
Dokumen pemesanan penjualan berisi informasi penting seperti nama,
alamat, nomor rekening pelanggan yang melakukan pembelian.
2. Pemesanan Pembelian
Proses pemesanan yang dilakukan oleh perusahaan atau penjual
kepada pemasok. Dokumen pemesanan pembelian berisi mengenai
permintaan pembelian dan menspesifikasikan berbagai barang yang
dipesan dari pemasok.
Kemajuan teknologi sekarang ini memungkinkan pemesanan tidak
hanya dapat dilakukan jika konsumen dan penjual bertatap langsung, tetapi
dapat dilakukan dari jarak jauh sekalipun, misalnya dengan menggunakan E-
commerce, yaitu sistem pemesanan barang lewat internet.
Menurut Mohammad Subekti dkk, (2012, p665) E-commerce
merupakan bagian dari e-Business, di mana cakupan e-Business lebih luas,
tidak hanya sekedar perniagaan tetapi mencakup juga pengkolaborasian mitra
bisnis, pelayanan nasabah, lowongan pekerjaan dll. Selain teknologi jaringan
41
www, e-Commerce juga memerlukan teknologi database atau pangkalan data
(database), e-Surat atau surat elektronik (e-mail), dan bentuk teknologi non
komputer yang lain seperti halnya sistem pengiriman barang, dan alat
pembayaran untuk e-Commerce ini.
2.2.2 Pengertian Pembelian dan Penjualan
Menurut Wawan Saputra (2010, p1074-1075) pembelian adalah
perolehan barang dan jasa. Secara umum definisi pembelian adalah suatu
usaha pengadaan barang atau jasa dengan tujuan yang akan digunakan untuk
kebutuhan sendiri, untuk kepentingan proses produksi maupun untuk dijual
kembali. Tujuan dari kegiatan pembelian adalah :
1. Membantu identifikasi produk dan jasa yang dapat diperoleh
secara eksternal.
2. Mengembangkan, mengevaluasi dan menentukan pemasok, harga
dan pengiriman yang terbaik bagi barang dan jasa tersebut.
Menurut Wawan Saputra (2010, p1075) kegiatan penjualan terdiri dari
transaksi penjualan barang atau jasa, baik secara kredit maupun secara tunai.
Dari pengertian tersebut dapat disimpulkan penjualan adalah suatu aktivitas
perusahaan yang utama dalam memperoleh pendapatan baik untuk
perusahaan besar maupun perusahaan kecil. Penjualan merupakan sasaran
akhir dari kegiatan pemasaran. Pada bagian ini terjadi penetapan harga
melalui perundingan dan perjanjian serah terima barang, cara pembayaran
yang disepakati oleh kedua belah pihak, sehingga tercipta suatu titik
kepuasan.
2.2.3 Pengertian Jual-Beli
Menurut Dr. Munir Fuady (2003, p25) Jual-beli merupakan suatu
kontrak dimana satu pihak, yakni yang disebut pihak penjual, mengikatkan
dirinya untuk menyerahkan suatu benda, sedangkan pihak lainnya, yang
disebut dengan pihak pembeli, mengikatkan dirinya untuk membayar harga
dari benda tersebut sebesar yang telah disepakati bersama.
42
2.2.4 Metode Pembayaran dalam Transaksi Jual-Beli
Menurut Dr. Munir Fuady (2003, p26) jenis-jenis metode pembayaran
dalam transaksi jual-beli adalah sebagai berikut :
1. Metode Pembayaran Seketika
Metode pembayaran seketika merupakan bentuk yang sangat
klasik, tetapi sangat lazim dilakukan dalam melakukan jual-beli. Dalam
hal ini harga barang diserahkan semuanya, sekaligus pada saat
diserahkannya barang objek jual-beli kepada pembeli.
2. Metode Pembayaran dengan Cicilan atau Kredit
Metode dengan cicilan ini dimaksudkan bahwa pembayaran
yang dilakukan dalam beberapa termin, sementara penyerahan barang
kepada pembeli dilakukan sekaligus dimuka, meskipun pada saat itu
pembayaran belum semuanya dilunasi. Dalam hal ini, menurut hukum,
jual-beli dan peralihan hak sudah sempurna terjadi, sementara cicilan
yang belum dibayar menjadi hutang-piutang belaka.
3. Metode pembayaran Memakai Kartu Kredit
Agar pihak pembeli aman dengan tidak membawa uang cash
ke mana-mana, sementara membayar dengan cek belum tentu
membudaya, maka pembayaran dengan menggunakan kartu kredit
merupakan pilihan yang populer. Dalam hal ini ketika barang diterima
oleh pihak pembeli, pihak pembeli cukup menandatangani suatu resi
dan menunnjuk kartu kredit kepada toko (penjual). Oleh toko tersebut
dikonfirmasi ke perusahaan kartu kredit tersebut apakah cukup tersedia
dana untuk harga pembelian tersebut. Jika konfirmasi diterima dan resi
ditandatangani, maka barang baru diserahkan, untuk selanjutnya pihak
penjual menagih uang harga pembelian kepada bank-bank tertentu.
4. Metode pembayaran dengan Memakai Kartu Debit
Metode pembayaran dengan memakai kartu debit lebih praktis
dari penggunaan kartu kredit. Hanya saja, dengan kartu debit, baik
pembeli maupun penjual harus sama-sama memiliki rekening di satu
bank tertentu, yakni bank yang menyediakan kartu debit tersebut. Kartu
43
debit tersebut dalam praktek dikenal dengan nama kartu ATM
(Automated Teller Machine) karena kertu tersebut dapat digunakan juga
untuk melakukan transaksi di ATM. Dengan sistem kartu debit, pada
pihak penjual tersedia alat yang dengan menekan kode rahasia kartu
ATM atau debit tersebut oleh pihak pembeli, maka rekening pihak
pembeli langsung didebit oleh bank dan mengkreditkannya langsung ke
rekening penjual. Jadi, berbeda dengan banknya, pihak pembeli (bank
devisa) untuk kemudian meneruskannya ke bank koresponden di
tempatnya pihak penjual. Harga sudah dapat dibayar kepada penjual
oleh bank koresponden setelah L/C ditunjukan dan dokumen lainnya
oleh pihak penjual barang, tanpa terlebih dahulu menunggu tibanya
barang yang dikirim.
44