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. ANSISPARC memiliki tiga level yakni:
7
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. diantaranya
Beberapa
tujuan
mengambarkan
utama
skema
enterprise
secara
konseptual 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
disimpan dalam basis data.
data
yang
ada
10
External Level
User 1
User 2
User 3
View 1
View 2
View 3
Conceptual Level
Conceptual Schema
Internal Level
Internal Schema
Physical Data Organization
Database
Gambar 2.1 Level ANSI - SPARC
2.1.5 Pengertian Database Management System Menurut Management
Connolly
System
dan
adalah
Begg sebuah
(2010,
p66)
Database
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.
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:
Data Hardware
People
Procedure
Software Bridge
Human
Machine
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 komponenkomponen mesin dan komponen-komponen manusia.
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 factfinding 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 jobrole 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 Relationship
beberapa (ER)
hal
yaitu
diagrams,
menggunakan
menentukan
Entity
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 Strong Entity
Mapping 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 Menggabungkan entitas-entitas ke dalam satu relasi.
types:
1) Mandatory participation on Menyertakan primary key entitas pada 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
Supercalss/subclass relationship
sisi "optional" sebagai suatu entutas yang merepresentasikan
entitas
oada
sisi
"mandatory". Tidak beraturan dengan tanpa further information.
Lihat pada tabel 2.2
22
Entity/Relationship *:*
binary
relationship,
relationship
Mapping Complex Membuat
representasi
menghubungkan dalamnya relationship
dan
atribut
relasi
yang
termasuk
yang
tersebut.
terdapat
di di
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 Mandatory
Disjoint Constraint Nondisjoint {And}
Relationship Required Relasi
tunggal
(dimana
terdapat satu atau lebih discriminators membedakan
untuk tipe
setiap
tuple). Optional
Nondisjoint {And}
Dua relasi: satu relasi untuk superclass dan satu relasi untuk
seluruh
subclass,
(terdapat satu atau lebih discriminators membedakan
untuk tipe
setiap
23
tuple). Participation Constraints Mandatory
Disjoint Constraint Disjoint {Or}
Relationship Required Banyak relasi: satu relasi yang
ditujukan
kombinasi
yang
untuk terdapat
dari superclass/subclass. Optional
Disjoint {Or}
Banyak relasi: satu relasi ditujukan pada superclass dan satu untuk masingmasing 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 persyaratanpersyaratan. 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 diidentifikasikan
untuk selama
merancang
user
requirement
view
collection
yang 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 menggunakan Data
sistem
basis
data
tercapai
dengan
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
1
Keterangan Entitas eksternal, dapat berupa orang
Entitas
atau unit terkait yang berinteraksi dengan system tetapi di luar system
2
Orang, unit yang menggunakan atau Proses
melakukan transformasi data, komponen fisik tidak diidentifikasikan
3
Aliran data dengan arah khusus dari sumber ke tujuan
4
Penyimpanan data atau tempat arah Data Store
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
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
Menjelaskan lebih dari
Document
satu dokumen
Input/Output
Setiap fungsi input atau
Journal
output dan
pada
flowchart
digunakan
untuk
menjelaskan jurnal dalam dokumen flowchart Processing Symbols Computer
Fungsi
Processing
komputer
pemrosesan yang
menghasilkan perubahan pada data dan informasi Manual
Proses
pengoperasian
Operation
proses secara manual
Auxilary
Pemrosesan fungsi yang
Operation
dilakukan melalui sebuah media bukan komputer
Storage Symbols Magnetic Disk
Penyimpanan data secara permanen pada magnetic disk, digunakan sebagai database
34
Simbol
Nama On line Storage
Keterangan 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 Connector
page Menghubungkan
proses
alur di halaman yang sama
Off
page Masuk dari atau keluar
Connector
ke halaman lain
Decision
Langkah-langkah pengambilan
untuk
keputusan
yang digunakan dalam flowchart menunjukkan
untuk 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 Ecommerce, 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