BAB 2 LANDASAN TEORI
2.1. Teori Umum 2.1.1 Data Dalam sebuah sistem informasi, data merupakan salah satu komponen yang sangat penting agar sistem informasi tersebut dapat berjalan. Di dalam sistem informasi, data disimpan didalam sebuat tempat penyimpanan (storage) atau yang lebih dikenal dengan databasedan database dikelola oleh DBMS. Menurut Connolly dan Begg (2010, p70), data adalah komponen yang paling penting dalam DBMS, berasal dari sudut pandang end-user. Data bertindak sebagai jembatan yang menghubungkan antara mesin dengan pengguna.Selain sebagai komponen yang penting dalam sistem informasi dan juga DBMS, menurut R. Kelly Rainer dan Casey G. Cegielski (2012,p26), data adalah penjelasan dasar benda, kejadian, fakta, aktivitas, dan transaksi yang dicatat, diklasifikasi dan disimpan tetapi tidak diorganisir untuk menyampaikan arti tertentu. Berdasarkan pengertian menurut ahli diatas, maka dapat disimpulkan, data adalah sekumpulan kejadian, fakta, transaksi yang nantinya diolah untuk menjadi suatu informasi dan data merupakan komponen yang paling penting dalam sebuah lingkungan DBMS.
2.1.2 Database Data transaksi yang terjadi setiap harinya dalam sebuah organisasi / perusahaan perlu disimpan untuk kebutuhan informasi di masa depan. Untuk menyimpan data tersebut, diperlukan tempat penyimpanan (storage) yang disebut dengan database. MenurutConnolly & Begg (2010, p. 65) Database adalah kumpulan dari data logikal yang saling berhubungan berserta dengan deskripsinya, yang di rancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. 7
8 2.1.3 Database Management System (DBMS) 2.1.3.1. Pengertian DBMS Sebuah database memerlukan pengelolaan yang baik agar database tersebut memiliki data yang berkualitas. Pada umumnya
database
dikelola
oleh
DBMS
(Database
Management System). Menurut Connolly & Begg (2010, p. 66)Database Management System atau DBMS adalah suatu sistem
software
yang
memungkinkan
pengguna
untuk
mendefinisikan, membuat, memelihara dan mengontrol akses ke database. Pengertian lain menurut (Munjtir & Aljahdali, 2013), Database Management Systems adalah sebuah kumpulan program yang memungkinkan pengguna untuk menyimpan, memodifikasi dan mengambil informasi dari sebuah database. Sedangkan Menurut Jr., Prince, & Cegielski (2013, p. 149) Database Management Systems adalah seperangkat program yang menyediakan tools bagi pengguna untuk menambah,
menghapus,
mengakses,
modifikasi,
dan
menganalisa data yang di simpan di lokasi tunggal. Berdasarkan pengertian – pengertian diatas, dapat disimpulkan bahwa DBMS merupakan alat / tools yang berisi kumpulan program yang memudahkan pengguna dalam mengelola ( menambah, memodifikasi, dan menghapus ) database. 2.1.3.2. Komponen DBMS
Gambar 2.1 Komponen DBMS (Connolly & Begg, 2010, p. 68)
9
Sebuah DBMS memiliki beberapa komponen yang saling berhubungan sehingga DBMS tersebut dapat berjalan. Menurut Connolly & Begg (2010, p. 68-71) terdapat 5 komponen dalam lingkungan DBMS yaitu : hardware, software, data, procedure dan people. 1. Hardware DBMS dan aplikasi membutuhkan hardware untuk beroperasi. Hardware dapat mencakup mulai dari komputer personal sampai pada sebuah mainframe atau jaringan pada komputer. Beberapa DBMSs hanya dapat berkerja pada hardware atau operasi sistem tertentu, namun sudah cukup banyak DBMSs yang dapat beroperasi dengan berbagai spesifikasi hardware dan juga sistem operasi. 2. Software Komponen dari software terdiri dari software DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi. Jaringan juga termasuk ke dalam komponen software jika DBMS tersebut digunakan di dalam sebuah jaringan. 3. Data Data merupakan komponen yang paling penting dalam sebuah lingkungan DBMS. Hal ini dapat dilihat dari gambar dimana data menjadi jembatan antara komponen mesin dan juga komponen manusia. 4. Procedure Instruksi dan aturan yang harus disertakan dalam merancang dan menggunakan database dan DBMS tersebut.
10 5.
People Merupakan sumber daya manusia yang berfungsi untuk menghubungkan antara software dan hardware. Kelima komponen tersebut merupakan komponen yang sangat penting dalam sebuat lingkungan DBMS dan saling berhubungan. Apabila salah satu komponen tersebut tidak ada, DBMS tidak dapat berjalan dengan maksimal.
2.1.3.3. Keuntungan DBMS Dalam
menerapkan
DBMS,
perusahaan
pasti
mengharapkan dapat merasakan keuntungan yang dapat meningkatkan kinerja perusahaan mengingat biaya yang diperlukan dalam menerapkan DBMS cukup tinggi. Menurut Connolly & Begg (2010, p. 77), menerapkan DBMS dapat memberikan
keuntungan
bagi
perusahaan.
Keuntungan
menggunakan DBMS yang dapat dirasakan oleh perusahaan antara lain sebagai berikut : 1. Mengontrol redudansi / pengulangan data 2. Konsistensi data 3. Mendapat informasi yang lebih banyak dengan jumlah data yang sama 4. Pembagian
data
perusahaanyang
dimana memiliki
setiap hak
user
dalam
ke
dalam
akses
databasedapat melihat dan juga menggunakan data yang terdapat di dalam database ( sharing of data ) 5. Meningkatkan integritas data 6. Meningkatkan keamanan data dengan membatasi hak akses ke dalam database. 7. Dengan adanya integrasi memungkinkan DBA untuk menentukan standar yang diperlukan di dalam DBMS seperti menentukan format data yang akan masuk ke
11 dalam database yang berasal dari beberapa departemen di dalam perusahaan. 8. Skala ekonomi 9. Adanya keseimbangan terhadap konflik kebutuhan dari setiap user 10. Meningkatkan aksesbilitas dan respon dari data 11. Meningkatkan produktivitas 12. Meningkatkan pemeliharaan melalui data tetap 13. Meningkatkan ketepatan data 14. Adanya fasilitas backup dan recovery services untuk mencegah hilangnya data ketika terjadi masalah di database. 2.1.3.4. Kerugian DBMS Selain keuntungan yang dapat dirasakan perusahaan, DBMS juga memiliki beberapa kelemahan yang dapat membawa
dampak
negatif
pada
perusahaan
dalam
penerapannya. Menurut Connolly & Begg (2010, p. 80), penggunaan DBMS juga dapat membawa dampak negatif / kerugian bagi perusahaan. Kerugian dalam penggunaan DBMS antara lain : 1.
Kompleksitas
2.
Membutuhkan size storage yang cukup besar
3.
Biaya untuk DBMS cukup besar
4.
Adanya biaya tambahan untuk hardware
5.
Biaya konversi
6.
Terdapat penurunan perfoma pada beberapa aplikasi untuk memaksimalkan DBMS.
7.
Kemungkinan gagal implementasi yang cukup besar karena banyak faktor.
12 2.1.3.5. Fungsi DBMS Menurut Connolly & Begg (2010, p. 99) fungsi dari DBMS adalah : 1.
Data storage, retrieval, and update Sebuah DBMS harus melengkapi pengguna dengan kemampuan
untuk
menyimpan,
mengambil,
dan
memperbarui data dalam database. 2.
A user-accessible catalog Sebuah DBMS harus dilengkapi dengan katalog di mana terdapat deskripsi item data yang disimpan dandapat diakses oleh pengguna.
3.
Transaction support Sebuah DBMS harus memberikan suatu mekanisme yang akan memastikan dengan baik bahwa semua update sesuai dengan transaksi yang diberikan dibuat atau tidak.
4.
Concurrency control services Sebuah DBMS harus dilengkapi dengan mekanisme untuk memastikan bahwa database diperbaharui dengan benar ketika beberapa pengguna memperbaharui database secara bersamaan.
5.
Recovery services Sebuah DBMS harus dilengkapi dengan mekanisme untuk memulihkan (recovery)database apabila database rusak.
6.
Authorization services Sebuah DBMS harus dilengkapi dengan mekanisme yang dapat memastikan bahwa hanya pengguna yang diberikan otoritas akses saja yang dapat mengakses database.
7.
Support for data communication Sebuah DBMS harus mampu berintegrasi dengan perangkat lunak komunikasi.
8.
Integrity services
13 Sebuah
DBMS
harus
menyediakan
sarana
untuk
memastikan bahwa data dalam database dan data perubahan mengikuti aturan-aturan tertentu. 9.
Services to promote data independence Sebuah
DBMS
harus
mencakup
fasilitas
untuk
mendukung kemandirian program dari struktur yang sebenarnya dari database. 10. Utility services Sebuah DBMS harus menyediakan kumpulan layanan utilitas sehingga DBA dapat mengelola database lebih efektif.
2.1.4 Database Language Untuk membuat sebuah database dari model yang sudah di buat, dibutuhkan bahasa untuk mentransformasikan model tersebut kedalam bentuk fisikal. Menurut Connolly & Begg (2010, p. 91) bahasa yang digunakan untuk membuat sebuah database terbagi menjadi 2 bagian : yaitu Data Definition Language ( DDL ) dan Data Manipulation Language ( DML ). 2.1.4.1. Data Definition Language ( DDL ) Menurut Connolly & Begg (2010, p. 92) DDL adalah sebuah bahasa yang memungkinkan DBA ( Database Administrator ) dan pengguna untuk menjelaskan dan menamakan entitas, atribut, dan juga relasi yang dibutuhkan untuk aplikasi, bersama dengan integritas yang berhubungan dan batasan keamanan. DDL digunakan untuk mendefinisikan skema atau melakukan modifikasi terhadap yang sudah ada. DDL tidak dapat digunakan untuk memanipulasi data.
14 2.1.4.2. Data Manipulation Language ( DML ) Menurut Connolly & Begg (2010, p. 92) DML adalah sebuah bahasa yang menyediakan seperangkat operasi untuk mendukung proses manipulasi data yang dasar pada data yang ada di dalam database. Biasanya operasi manipulasi data terdiri dari : a. Memasukan data baru ke dalam database. b. Melakukan modifikasi terhadap data yang disimpan ke dalam database. c. Mengambil data yang terdapat di dalam database. d. Menghapus data dari dalam database.
2.1.5 Database System Development Life Cycle DBMS memiliki siklus sama seperti sebuah sistem informasi. Siklus hidup sebuah pengembangan sistem database dimulai dengan merencanakan database, melakukan perancangan database sesuai dengan kebutuhan, sampai ke tahap maintenance. Menurut Connolly & Begg (2010, pp. 313-314), sebuah sistem database merupakan komponen dasar dari sistem informasi sebuah organisasi / perusahaan sehingga database life cycle memiliki hubungan yang sangat erat dengan system information life cycle.
15
Gambar 2.2 Database Life Cycle Connolly & Begg (2010, p. 314) 2.1.5.1. Database planning Menurut Connolly & Begg (2010 p. 313)Database Planning adalah merencanakan bagaimana tahapan lifecycle dapat direalisasikan menjadi efisien dan efektif. Dalam Database Planning terdapat 3 tahapan dalam merumuskan sebuah strategi, yaitu :
16 a. Mengidentifikasikan rencana dan tujuan perusahaan
dengan menentukan kebutuhan dari sistem informasi. b. Mengevalauasi dari sistem informasi yang berjalan untuk
menentukan keunggulan dan juga kelemahannya. c. Melakukan penilaian terhadap kesempatan dari teknologi
informasi yang mungkin dapat menghasilkan keuntungan kompetetif. 2.1.5.2. System definition Menurut Connolly & Begg (2010, p. 316) System definition adalah tahapan dalam database lifecycle untuk menentukan ruang lingkup dan batas-batas dari sistem database,termasuk pandangan utama pengguna ( user views ), penggunanya, dan area aplikasi. User Views merupakan bagian dari merupakan bagian dari system definition untuk mendefinisikan kebutuhan dari database system dilihat menurut pandangan dari jabatan pekerjaan tertentu ( seperti Manager atau Supervisor ) atau berdasarkan bidang dalam perusahaan ( seperti marketing, personnel, atau stock control ). 2.1.5.3. Requirements collection and analysis Menurut Connolly & Begg (2010, p. 316) Requirement collection and analysis adalah proses pengumupulan dan menganalisa informasi mengenai bagian – bagaian dari organisasi yang harus dibantu oleh sistem database, kemudian informasi ini digunakan untuk mengidentifikasi kebutuhan sistem yang baru akan dibangun 2.1.5.4. Database design Menurut Connolly & Begg (2010, p. 320)database design merupakan proses dalam membuat design yang akan membantu mewujudkan misi dan juga tujuan dari perusahaan untuk membangun sebuah sistem database.
17 Menurut (Connolly & Begg, 2010, p. 321) terdapat 3 pendekatan utama dalam membangun sebuah database, yaitu : a. Bottom – Up Pendekatan ini dimulai dengan tingkat yang paling dasar dari atribut ( yaitu, properti dari entitas dan juga hubungan ), dengan analisis dari hubungan antara atribut yang
dikelompokan
kedalam
suatu
relasi
yang
merepresentasikan tipe dari entitas dan hubungan antara entitas. b. Top – Down Pendekatan top – down biasanya digunakan untuk membangun sebuah database yang lebih kompleks. Pendekatan ini dimulai dengan mengembangkan model data yang mengandung beberapa entitas high – leveldan juga relasi, kemudian menggunakan pendekatan top – down untuk mengidentifikasikan entitas lower – level, relasi, dan juga atribut yang berhubungan. c. Inside – Out Pedekatan ini berhubungan dengan pendekatan bottom – up, perbedaannya adalah pendekatan ini pertama kali megidentifikasi entitas utama dan kemudian menyebar untuk memperhatikan hal lain seperti entitas, relasi dan juga atribut lain yang berhubungan dengan entitas yang sudah di identifikasikan perta kali. d. Mixed Strategy Pendekatan
ini
menggunakan
kedua
pendekaan
sebelumnya yaitu bottom – up dan top – down untuk beberapa
bagian
dari
model
sebelum
akhirnya
menggabungkan kedua bagian tersebut menjadi satu.
18 Menurut Connolly & Begg 2010 ( pp. 322 – 324 ), terdapat 3 fase dalam merancang sebuah database, yaitu : a. Conceptual Database Design Conceptual Database Design adalah proses membangun sebuah model dari data yang digunakan di dalam sebuah perusahaan, yang berdiri sendiri terhadap semua pertimbangan fisikal. b. Logical Database Design Logical Database Design adalah proses membangun sebuah model dari data yang digunakan oleh perusahaan berdasarkan sebuah model data yang spesifik, tetapi bersifat independen terhadap DBMS dan pertimbangan fisikal lainnya. c. Physical Database Design Physical Database Design adalah proses dalam membuat penjelasan dari implementasi database pada tempat penyimpanan cadangan; hal ini menggambarkan dasar dari relasi, file organisasi, dan juga indeks yang digunakan untuk mengefesiensikan dalam pengaksesan data, dan segala sesuatu yang berhubungan dengan batasan dan juga sistem keamanan. 2.1.5.5. DBMS Selection Menurut Connolly & Begg (2010, p. 325), DBMS Selection adalah proses memilih DBMS yang tepat yang dapat mendukung sistem database yang dibuat. Langkah – langkah yang perlu dilakukan dalam memilih DBMS adalah : a. Menentukan criteria dari DBMS berdasarkan kebutuhan dari perusahaan. b. Membuat daftar pendek dua atau tiga produk untuk dibandingkan
19 c. Melakukan
evaluasi
terhadap
setiap
produk
yang
memenuhi kriteria. d. Merekomendasikan DBMS yang dipilih dan melakukan laporan terhadap hasil dari evaluasi produk DBMS tersebut. 2.1.5.6. Application Design Menurut Connolly & Begg (2010, p. 329), Application Design adalah proses perancangan antar muka pengguna dan aplikasi yang akan menggunakan database.Application Design biasanya dilakukan secara bersamaan dengan database design pada database system development lifecycle. 2.1.5.7. Prototyping Menurut Connolly & Begg (2010, p. 333), prototyping adalah proses membangun sebuah model kerja dari sebuah sistem database. Prototype merupakan sebuah model kerja yang biasanya tidak memiliki semua fitur seperti yang ada pada sistem final. Tujuan dari mengembangkan prototype database ini adalah memungkinkan pengguna untuk menggunakan prototype untuk mengidentifikasikan fitur dari sistem dapat bekerja
dengan
baik
atau
masih
kurang,
dan
jika
memungkinkan dapat disarankan untuk melakukan peningkatan atau menambahkan fitur baru pada sistem database. 2.1.5.8. Implementation Menurut
Connolly
&
Begg
(2010,
p.
333),
Implementation adalah merealisasikan perancangan fisikal dari database
dan
aplikasi.
Implementasi
database
dapat
diselesaikan dengan menggunakan DDL ( Data Definition Language ) pilihan dari DBMS atau menggunakan GUI ( Graphic User Interface ), dimana kedua hal terebut mendukung fungsi yang sama pada saat menyembunyikan low – level DDL
20 statements. DDL statements ini berfungsi untuk membuat struktur database dan file database kosong. 2.1.5.9. Data conversion and loading Menurut Connolly & Begg (2010, p. 334), tahap ini merupakan tahap pemindahan data yang ada kedalam database baru dan mengubah aplikasi yang sudah berjalan untuk dioperasikan pada database baru. Tahapan ini dibutuhkan jika database baru akan menggantikan database yang lama. DBMS di masa sekarang biasanya sudah memiliki fitur untuk memasukan data yang ada ke dalam database baru dan secara otomatis mengkonversinya sesuai dengan format yang ada di dalam database. 2.1.5.10. Testing Menurut Connolly & Begg (2010, p. 334)Testing adalah proses untuk menjalankan sistem database yang sudah dirancang dengan tujuan untuk menemukan error. Sebelum sistem digunakan di dalam perusahaan, sistem database harus melalui tes secara menyeluruh. Agar tahapan ini dapat berhasil, tahapan ini perlu dilakukan secara hati – hati dan juga terencana dengan menggunakan data asli sehingga semua proses pengujian dapat berjalan dengan lancar. 2.1.5.11. Operational maintenance Menurut Connolly & Begg (2010, p. 335) operational maintenance
merupakan
proses
untuk
memonitor
dan
perawatan sistem database setelah proses instalasi. Pada tahap sebelumnya, sistem database telah di implementasi dan juga di lakukan pengujian. Tahap selanjutnya adalah melakukan perawatan yang melibatkan aktivitas berikut : a. Memantau perfoma dari sistem. Jika perfoma mengalami penurunan dibawah tingkat yang bisa diterima, melakukan
21 pengorganisasian ulang dari database mungkin perlu dilakukan. b. Perawatan dan upgrading dari sistem database ( jika dibutuhkan ).
2.1.6 Entity - Relationship Modeling Dalam melakukan perancangan sebuah database dibutuhkan model yang merepresentasikan data yang akan disimpan di dalam database tersebut. Menurut Connolly & Begg (2010, p. 371)EntityRelationship
( ER ) Model adalah pendekatan top-down pada
perancangan database yang dimulai dengan mengidentifikasikan data penting yang disebut dengan entitas dan hubungan antara data harus di representasikan di dalam model. Setelah menentukan entitas dan juga hubungan antara data tersebut, selanjutnya adalah menambahkan detil seperti informasi yang berisi tentang isi dari entitas tersebut yang dinamakan attributes. 2.1.6.1. Tipe Entitas Menurut Connolly & Begg (2010, p. 372), Tipe Entitas adalah sekumpulan dataobject yang memiliki properti yang sama, dimana sudah didentifikasikan oleh perusahaan yang memiliki keberadaan yang tetap. Sebuah tipe entitas bisa berupa objek yang nyata ( bias disentuh ) dan bisa berupa konseptual
(
abstrak
).
Sebuah
objek
yang
dapat
didentifikasikan secara unik dari sebuah entitas disebut entity occurance.
22
Gambar 2.3 Contoh fisikal dan konseptual entitas Connolly & Begg (2010, p. 374)
Tipe Entitas diklasifikasikan menjadi 2, yaitu : a. Strong Entity Menurut Connolly & Begg(2010, p. 383) sebuah entitas yang keberadaannya tidak bergantung dengan entitas lain disebut dengan Strong Entity
( entitas kuat ).
Karakteristik dari Strong Entity adalah setiap entity occurrence dapat di identifikasikan secara unik dengan dengan menggunakan atribut yang menjadi primary key dari entitas tersebut.Pada gambar 2.4 yang menjadi strong entity adalah entitas Client karena memiliki primary key.
Gambar 2.4 Strong Entity dan Weak Entity Connolly & Begg (2010, p. 384)
23 b.
Weak Entity Menurut Connolly & Begg (2010, p. 383) sebuah entitas yang keberadaannya harus bergantung dengan entitas lain. Karakteristik dari weak entityadalah setiap entity occurrence tidak dapat diidentifikasikan secara unik hanya dengan menggunakan atribut yang berhubungan dengan tipe entitas tersebut.
Sebagai contoh, pada
gambar 2.4 entitas preference tidak memiliki primary key
sehingga
entitas
tersebut
tidak
dapat
mengidentifikasi setiap kejadian pada entitas preference hanya menggunakan atribut dari entitas tersebut. Entitas tersebut hanya dapat di identifikasikan secara unik melalui hubungan dengan entitas lainnya yaitu entitas Client. 2.1.6.2. Relationship Types Menurut Connolly & Begg (2010, p. 374)Relationship Types adalah sekumpulan hubungan yang memiliki arti dan menghubungkan antar setiap tipe entitas. Setiap Relationship type diberikan nama yang menjelaskan fungsinya.
24
Gambar 2.5 Contoh Relationship Types Connolly & Begg (2010, p. 373)
2.1.6.3. Atribut Setiap entitas yang terdapat di dalam database memiliki beberapa atribut yang dapat menjelaskan entitas tersebut. MenurutConnolly & Begg (2010, p. 379),atribut adalah properti dari suatu entitas atau tipe relationship. Attribute domain adalah kumpulan dari beberapa nilai yang boleh memiliki satu atau lebih atribut. Setiap atribut berhubungan dengan kumpulan dari beberapa nilai disebut domain. 2.1.6.3.1.
Simple Attributes Menurut Connolly & Begg (2010, p. 379)Simple Attributes adalah sebuah atribut yang terdiri
dari
satu
komponen
tunggal
dengan
keberadaan yang independen. Simple attributes tidak dapat dibagi lagi ke dalam komponen yang lebih kecil. Contoh dari simple attributes adalah posisi/jabatan dan gaji di dalam entitas karyawan.
25 2.1.6.3.2.
Composite Attributes Menurut Connolly & Begg (2010, p. 380), Composite Attributes adalah sebuah attribut yang terdiri
dari
beberapa
komponen
dan
setiap
komponen memiliki keberadaan yang independen. Contoh dari composite attributes adalah atribut alamat yang terdapat pada entitas Cabang. Atribut alamat memiliki nilai 163 Main St. Glasgow, G11 9QX. Nilai atribut tersebut dapat dibagi menjadi Jalan ( 163 Main St), Kota ( Glasgow ), dan kode pos ( G11 9QX ). 2.1.6.3.3.
Single – Valued Attributes Menurut (Connolly & Begg, 2010, p. 380), single valued attributes adalah sebuah atribut yang memiliki nilai tunggal untuk setiap kejadian pada entitas tersebut. Contoh dari single – valued attributes adalah atribut BranchNo yang terdapat pada entitas Branch. Atribut BranchNo hanya memiliki
satu
nilai
tunggal
untuk
setiap
kejadiannya ( contoh : B003 ). 2.1.6.3.4.
Multi – Valued Attributes Menurut Connolly & Begg (2010, p. 380), multi – valued attributes adalah sebuah atribut yang memiliki nilai lebih dari satu untuk setiap kejadian dari entitas tersebut. Contoh dari multi – valued attributes adalah atribut telNo pada entitas Branch. Pada Branch B003 dapat memiliki 2 nomor telepon yaitu 0141-3392178 dan 0141-3394439 sehingga
26 atribut telNo masuk ke dalam kategori multi – valued attributes. 2.1.6.3.5.
Derived Attributes Menurut Connolly & Begg ( 2010, p. 380), derived attributes adalah sebuah atribut yang merepresentasikan nilai yang diturunkan dari nilai sebuah atribut yang berhubungan dengan atribut tersebut atau dengan beberapa atribut dan tidak perlu berasal dari entitas yang sama.
2.1.6.3.6.
Keys Menurut Connolly & Begg (2010, p. 381)candidate key adalah sejumlah atribut yang bersifat unik yangdapat mengidentifikasi setiap kejadian dari suatu tipe entitas.Primary key adalah candidate keyyang dipilih secara unik untuk mengidentifikasi setiap kejadian dari suatu tipe entitas.Composite key adalah candidate key yang terdiri dari dua atau lebih atribut. Foreign key adalah atribut atau beberapa atribut, dalam satu relasi yang cocok dengan candidate keydari beberapa hubungan yang mungkin sama.
2.1.6.4. Structural Constraints Menurut Connolly & Begg (2010, p. 385) sebuah constraint harus mencerminkan batasan pada tiap hubungan seperti kenyataannya. Contoh dari constraint seperti setiap property yang ingin disewakan harus memiliki owner dan setiap branch harus memiliki staff. Tipe utama dari constraint pada hubungan disebut multiplicity. Menurut Connolly & Begg (2010, p. 385), multiplicity adalah jumlah kemungkinan terjadinya kejadian pada sebuah tipe entitas yang mungkin berhubungan dengan kejadian
27 tunggal dari sebuah tipe entitas yang berhubungan melalui hubungan tertentu. Multiplicity biasanya menggunakan binary relationship. 2.1.6.4.1.
One – to – One ( 1 : 1 ) Relationship One – to one relationshipadalah multiplicity yang menggambarkan hubungan antara dua entitas dimana kejadian pada entitas A hanya boleh memiliki satu hubungan pada kejadian di entitas B. Sebaliknya, satu kejadian pada entitas B hanya boleh memiliki paling banyak satu hubungan dengan kejadian pada entitas B.
Gambar 2.6 One-to-one Relantionship Connolly & Begg (2010, p. 386)
2.1.6.4.2.
One – to – Many ( 1 : * ) Relationship One
–
to
many
relationship
adalah
multiplicity yang menggambarkan hubungan antara dua entitas dimana satu kejadian pada entitas A bisa memiliki hubungan dengan beberapa kejadian ( lebih dari satu ) pada entitas B. Sebaliknya, satu kejadian pada entitas B, hanya dapat memiliki minimal satu hubungan dengan entitas A.
28
Gambar 2.7 One – to – many Relationship Connolly & Begg (2010, p. 387)
2.1.6.4.3.
Many – to – Many (* : *) Relationship Many – to – many relationshipadalah multiplicity yang menggambarkan hubungan antara dua entitas dimana kejadian pada entitas A dapat memiliki hubungan lebih dari satu pada kejadian di entitas B. Sebaliknya, kejadian B juga dapat memiliki hubungan lebih dari satu dengan kejadian pada entitas B
Gambar 2.8 Contoh Many – to many Relationship Connolly & Begg (2010, p. 388)
2.1.7 Normalization Menurut Connolly & Begg(2010, p. 416), Normalisasi adalah sebuah teknik untuk menghasilkan set dari hubungan dengan properti
29 yang diinginkan, berdasarkan kebutuhan data dari perusahaan. Normalisasi sendiri bertujuan untuk mengidentifikasi set dari hubungan yang cocok untuk mendukung persyaratan dari data perusahaan. Karakterisitik dari set hubungan yang cocok yaitu : • Jumlah atribut minimal yang diperlukan untuk mendukung kebutuhan data perusahaan. • Atribut
dengan
yang
berhubungan
dengan
functional
dependencyditemukan dalam relasi yang sama.Functional dependencymenggambarkan hubungan antar atribut dalam suatu relasi. • Redundansi minimal dengan setiap atribut diwakili hanya sekali,kecuali atribut yang membentuk bagian dari foreign keys. Menurut Connolly & Begg (2010 pp. 430 - 435) tahapan dari proses normalisasi adalah sebagai berikut : a. UNF ( Unnormalized Form ) UNF adalah sebuah tabel yang berisi satu atau lebih grup yang berulang. Tahap ini merupakan transformasi dari sumber data ke dalam bentul kolom dan baris. Grup yang berulang yang dimaksud adalah atribut – atribut yang multi – valued dimana satu kejadian memiliki lebih dari satu nilai.
Tabel 2.1 Contoh Unormalized Form ( UNF ) Connolly & Begg (2010, p. 432)
30 b. 1NF (First Normal Form) 1NF adalah sebuah hubungan dimana setiap pertemuan antara baris dan kolom memiliki satu dan hanya satu nilai.
Tabel 2.2 Contoh First Normalized Form ( 1NF ) Connolly & Begg (2010, p. 432)
c. 2NF ( Second Normal Form ) 2NF adalah hubungan padafirst normal form dan setiap non – primary – key attributememiliki ketergantungan secara penuh dengan primary key. Normalisasi dari 1NF ke bentuk 2NF adalah dengan menghapus partial dependence yang ada pada tabel 1NF.
Tabel 2.3 Contoh Second Normal Form ( 2NF ) Connolly & Begg (2010, p. 435)
31 d. 3NF ( Third Normal Form ) 3NF adalah hubungan yang terdapat di dalamfirst dan second normal form dan atribut yang bukan non – primary – key memiliki ketergantungan transitif pada primary key. Pada 3NF, normalisasi yang dilakukan pada tabel 2NF adalah dengan menghapus ketergantungan transitif pada atribut. Transitive dependency adalah sebuah kondisi dimana A, B, dan C adalah atribut dari relasi sehingga jika A
→ B dan B → C, maka C adalah transitif
bergantung pada A melalui B.
Tabel 2.4 Contoh Third Normal Form ( 3NF ) (Connolly & Begg, 2010)
2.2. Teori Pendukung Berikut ini merupakan kumpulan dari teori-teori ini diambil dari pengetahuan para ahli dengan melakukan penelitian untuk mendapatkan pengertian tentang ruang lingkup pada penulisan ini. 2.2.1 Web Web merupakan sebuah media yang menghubungan antara user dengan internet. Web berisi informasi yang berupa media seperti tulisan, gambar, video, dan suara. Menurut Connolly & Begg (2010, p. 1028) Web adalah sebuah sistem berbasis hypermedia yang menyediakan
32 sarana untuk melakukan pencarian informasi di internet dengan cara yang berurutan menggunakan hyperlink. 2.2.2 Keuntungan dari Web – DBMS Approach Penggunaan web sebagai sistem database dapat memberikan kemudahan untuk kegiatan operasional sebuah perusahaan. Menurut (Connolly & Begg, 2010) terdapat beberapa keuntungan yang dapat dirasakan dalam penggunaan web sebagai database antara lain : a.
Sederhana
b.
Tidak bergantung pada platform
c.
Graphical User Interface (GUI)sederhana
d.
Standarisasi
e.
Cross-platform support
f.
Transparent network access
g.
Penyebaran dapat diukur
h.
Inovasi
2.2.3 Kerugian Web – DBMS Approach Menurut (Connolly & Begg, 2010, p. 1036-1040) selain terdapat keuntungan dari penggunaan web database, terdapat juga kerugian didalamnya : a. Kehandalan b. Keamanan c. Biaya perawatan tinggi d. Skalabilitas e. Fungsi terbatas dari HTML f. Statelessness, transasksi database dan pengguna sulit dikelola. g. Bandwidth h. Performa lambat i. Perangkat pengembangan belum siap
33 2.2.4 Penjualan Salah satu kegiatan utama dalam sebuah perusahaan adalah melakukan penjualan baik itu barang maupun jasa. Penjualan adalah interaksi yang terjadi antara kedua belah pihak ( penjual dan pembeli ) untuk melakukan pertukaran antara uang dengan barang / jasa yang ditawarkan oleh penjual baik secara tunai maupun kredit. Menurut (Kotler & Armstrong, 2006, p. 457) Penjualan merupakan sebuah proses dimana kebutuhan pembeli dan kebutuhan penjualan dipenuhi, melalui antar pertukaran informasi dan kepentingan.Sedangkan menurut Reeve, Warren, & Duchac (2012, p. 256) penjualan adalah total jumlah yang dibayarkan pelanggan untuk barang yang dijual termasuk dalam penjualan tunai dan penjualan non – tunai. Berdasarkan pengertian diatas, dapat disimpulkan bahwa penjualan adalah suatu kegiatan penjualan barang atau jasa untuk memenuhi
kebutuhan
pembeli
dan
penjual
dimana
pembeli
membayarkan total jumlah untuk barang yang dijual baik secara kredit ataupun tunai.
2.2.5 Pembelian Secara umum, pembelian adalah suatu usaha pengadaan barang / jasa dengan tujuan yang akan digunakan untuk kebutuhan sendiri, untuk kepentingan proses produksi maupun dijual kembali. Menurut Reeve, Warren, & Duchac (2012, p. 312) pembelian adalah transaksi membeli barang / jasa dari vendor yang sudah disetujui. Menurut (Saputra, 2010) pembelian adalah perolehan barang dan jasa. Tujuan dari kegiatan pembelian adalah : •
Membantu identifikasi produk dan jasa yang dapat diperoleh secara eksternal.
34 •
Mengembangkan, mengevaluasi dan menentukan pemasok, harga dan pengiriman yang terbaik bagi barang dan jasa tersebut. Berdasarkan pengertian diatas, maka dapat disimpulkan bahwa
pembelian adalah suatu proses transasksi antara penjual dan pembeli dimana pembeli memperoleh barang / jasa yang diinginkan.
2.2.6 Piutang Di dalam transaksi penjualan yang terjadi di dalam sebuah perusahaan sering terjadi transaksi piutang. Menurut Sugiono, Soenarno, & Kusumawati (2010, p. 161) piutang adalah semua tagihan kepada seseorang ataupun badan usaha atau kepada pihak lainnya dalam satuan mata uang yang timbul sebagai akibat transaksi di masa lampau. Sedangkan menurut Reeve, Warren, & Duchac (2012, p. 262) piutang adalah semua klaim dalam bentuk uang terhadap pihak lainnya, termasuk individu, perusahaan atau organisasi lainnya. Berdasarkan pengertian di atas, dapat disimpulkan bahwa piutang adalah harta perusahaan yang timbul karena terjadinya transaksi penjualan barang / jasa secara kredit yang dihasilkan perusahaan.
2.2.7 Kredit Dalam transaksi penjualan barang / jasa biasanya terdapat istilah pembayaran kredit. Menurut Reeve (2012, p. 262) kredit adalah jumlah waktu yang diberikan kepada pembeli untuk membayar barang / jasa yang sudah dibeli kepada penjual (biasa disebut pembayaran rekening). Menurut (Karmawan, 2011) tujuan dari pemberian kredit adalah berupa keuntungan dalam bentuk bunga yang diterima. Dengan demikian tujuan kredit yang diberikan oleh suatu bank dalam mengembangkan tugas sebagai agent of development adalah untuk: • Menyukseskan pembangunan.
program
pemerintah
dibidang
ekonomi
dan
35 • Meningkatkan aktivitas perusahaan agar dapat menjalankan fungsinya guna menjamin terpenuhinya kebutuhan masyarakat. • Memperoleh laba agar kelangsungan hidup perusahaan terjamin dan dapat memperluas usahanya. Berdasarkan pengertian diatas, dapat disimpulkan bahwa kredit adalah pemberian pinjaman secara berangsur kepada pembeli untuk membayar barang / jasa yang sudah dibeli dari penjual.
36