BAB 2 TINJAUAN PUSTAKA 2.1 Teori Kaitan Basis Data Bagian ini

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1
Teori Kaitan Basis Data
Bagian ini menjelaskan teori-teori yang menjelaskan basis data.
2.1.1 Definisi Data, Basis Data dan Sistem Basis Data
Data adalah fakta, baik objek, variabel, maupun peristiwa apapun
yang dianggap penting dan dapat diproses untuk menjadi sebuah informasi.
Jika data ini berdiri sendiri dan tanpa diolah maka tidak akan memberikan
makna bagi pengguna data tersebut (Whitten dan Bentley, 2005:21).
Dimisalkan dalam sebuah sekolah ada data-data murid. Data-data murid
dapat diartikan secara berbeda-beda baik oleh guru, oleh bagian keuangan
sekolah dan sebagainya. Bagian keuangan sekolah membutuhkan data murid
untuk dimasukkan ke laporan keuangan sekolah melalui proses keuangan dan
menghasilkan informasi berupa informasi keuangan murid-murid di sekolah
tersebut.
Sistem adalah komponen-komponen yang saling berhubungan,
bekerja sebagai kesatuan untuk mencapai hasil yang diinginkan (Whitten dan
Bentley, 2005:6). Misal terdapat sebuah sistem komputer, berarti komponenkomponen yang dimaksud adalah monitor, CPU, hardisk, memory dan
sebagainya.
Komponen-komponen tersebut
saling berinteraksi
untuk
melakukan kegiatan-kegiatan sesuai dengan tujuan dari sistem komputer itu
sendiri.
Basis Data (Database) adalah kumpulan dari data-data yang
berhubungan satu sama lain secara logikal, memiliki deskripsi mengenai data
itu sendiri, dirancang untuk memenuhi kebutuhan informasi dari suatu
perusahaan (Connoly dan Begg, 2005:15). Basis data mampu memenuhi
kebutuhan informasi tidak terbatas pada satu pengguna ataupun satu bagian
dari komunitas penggunanya (Hoffer, Prescott dan McFadden ,2005:4). Misal
pada basis data yang terdapat pada sebuah sekolah bagian perpustakaan dapat
melihat informasi mengenai murid yang meminjam buku. Pada informasi
murid tersebut terdapat nomor induk siswa dan nama siswa yang berasal dari
data bagian registrasi siwa.
Sistem basis data adalah kumpulan elemen-elemen baik perangkat
lunak, perangkat keras dan data itu sendiri dimana perancang dapat
memasang basis data dan aplikasi basis data yang telah dibuat (Lungu,
Velicanu, dan Botha 2009:84). Pada web basis data maka elemen-elemen
yang dimaksud adalah monitor, CPU, memori, keyboard, mouse, perangkat
jaringan, perangkat lunak seperti sistem operasi, browser, PHPMyAdmin,
MySQL dan sebagainya.
2.1.2 Database Management System (DBMS)
DBMS adalah sebuah sistem perangkat lunak dimana pengguna dapat
mendefinisikan, memelihara dan mengontrol basis data (Connoly dan Begg,
2005:4). DBMS menyediakan tiga hal berikut:
1.
Data Definition Language (DDL)
DDL digunakan untuk mendefinisikan tipe data, struktur
data dan batasan-batasan (constraint) basis data yang akan
disimpan (Connoly dan Begg, 2005:16). Constraint yang
dimaksud adalah sejumlah kondisi atau syarat pada tabel untuk
membatasi nilai data tersebut untuk menjaga integritas dari basis
data (Andresscu dan Mircea, 2012:64 ).
2.
Data Manipulation Language (DML)
DML digunakan untuk memanipulasi data seperti insert,
update, delete. Ketiga fungsi tersebut mengubah isi data tetapi
tidak merubah struktur dan definisi data dalam basis data
(Connoly dan Begg, 2005:16).
3.
Kontrol Akses
Dalam DBMS diperlukan adanya pengawasan akses ke
dalam basis data agar menjaga konsistensi dan integritas dari
basis data tersebut (Connoly dan Begg, 2005:27). Contohnya
adalah pencegahan pengguna yang tidak berwenang.
2.1.3 Keuntungan dan Kerugian dari penggunaan DBMS
Keuntungan dari penggunaan DBMS meliputi:
1.
Kontrol Terhadap Redudansi Data
Redudansi data terjadi ketika data yang sama disimpan di
tempat yang berbeda. Hal ini akan memboroskan ruang
penyimpanan data (Connoly dan Begg, 2005:26).
2.
Konsistensi Data
Konsistensi data memastikan data direpresentasikan secara
sama, baik secara arti dan logika pada setiap tabel dalam basis
data (Dhull dan Sharma, 2010:48).
3.
Meningkatkan Produktifitas dan Keamanan Data
Dengan adanya penggunaan sistem basis data akan
meningkatkan produktifitas dari segi pencarian data, menipulasi
data dan penyimpanan data. DBMS juga membantu segi
keamanan penggunaan data tersebut (Connoly dan Begg,
2005:26).
Kerugian dari penggunaan DBMS meliputi:
1.
Kompleksitas dan Penggunaan Penyimpanan
Kompleksitas dari perancangan dan penggunaan basis data
dapat menjadi hambatan dalam penggunaan DBMS. DBMS juga
membutuhkan penggunaan penyimpanan (storage) yang cukup
besar dibandingkan sistem perangkat lunak berbasis file
(Connoly dan Begg, 2005:30).
2.
Biaya dan Resiko
Meng-upgrade sistem lama ke DBMS yang baru akan
membutuhkan biaya. Resiko akibat kegagalan DBMS yang baru
juga akan memberikan dampak yang besar kepada penggunanya
(Connoly dan Begg, 2005:30).
2.1.4 Perancangan Basis Data (Database Design)
Proses membuat rancangan basis data sesuai dengan tujuan yang
telah ditetapkan penggunanya. Perancangan basis data terdiri dari tiga
tahap, yaitu:
1.
Perancangan Basis Data Konseptual
(Connoly dan Begg, 2005:293)
Dalam tahap ini dilakukan perancangan model data
seperti menentukan entitas, relationship yang terjadi antar
entitas dan perancangan ini tidak bergantung pada
penggunaan perangkat lunak atau perangkat keras tertentu
seperti DBMS dan
bahasa pemrograman. Hasil dari
perancangan basis data konseptual adalah tipe entitas, tipe
relasi, attribut dan terpilihnya primary key serta candidate
key (Connoly dan Begg, 2005:292). Dengan perancangan
basis data konseptual akan menghasilkan data model
konseptual, dan data model ini harus benar dan dapat
menggambarkan kebutuhan-kebutuhan sistem yang akan
dibangun. Jika terjadi kesalahan pembuatan data model
konseptual maka data model logikal akan salah juga.
2.
Perancangan Basis Data Logikal
(Connoly dan Begg, 2005:294).
Pada tahap ini dilakukan perancangan model data
lanjutan dari perancangan konseptual. Relasi antar entitas
menjadi sorotan utama dan dilakukan validasi agar setiap
relasi mampu menunjang transaksi-transaksi yang akan
terjadi didalam DBMS. Normalisasi juga dilakukan di
tahap ini, tujuan normalisasi adalah membuat model data
yang tidak redudan dan efisien dan mampu menyesuaikan
jika terjadi kebutuhan-kebutuhan baru. Secara umum
dibutuhkan 3 tingkat normalisasi untuk menghasilkan
model data yang efisien dan efektif, yaitu sebagai berikut:
a.
Unnormalized form (UNF)
UNF terjadi ketika langsung memindahkan
semua field yang ada di form hasil identifikasi
ke dalam tabel model data. Didalam UNF
terdapat attribut-attribut yang kemunculannya
berulang-ulang atau yang disebut dengan
repeating
group
(Connoly
dan
Begg,
2005:402).
b.
First normal form (1NF)
1NF adalah keadaan data yang sudah memiliki
primary key dan ada pemisahan antara data
berulang dan tidak berulang (Connoly dan
Begg, 2005:403).
c.
Second Normal form (2NF)
2NF adalah keadaan data yang bebas dari
ketergantungan
parsial.
Yang
dimaksud
ketergantungan parsial adalah ada attribut
yang bergantung tidak penuh pada primary
key dalam satu entitas. Biasanya terjadi pada
entitas yang memiliki lebih dari satu primary
key (Connoly dan Begg, 2005:407).
d.
Third Normal form (3NF)
3NF adalah keadaan data yang bebas dari
ketergantungan
transitif.
Yang
dimaksud
ketergantungan transitif adalah ada attribut
non key yang tidak bergantung langsung pada
primary key melainkan lebih bergantung pada
attribut non key lainnya (Connoly dan Begg,
2005:408).
Perancangan basis data logikal akan menghasilkan
data model logikal dimana dapat dibentuk menjadi tabeltabel yang mempunyai relasi, attribut, primary key, foreign
key dan sudah ternormalisasi.
3.
Perancangan Basis Data Fisikal
Pada tahap ini sang perancang sudah menentukan
DBMS apa yang akan digunakan sebagai media dari model
data konseptual dan logikal yang telah dibuat (Connoly
dan Begg, 2005:496). Kapasitas disk untuk pengguna
dipertimbangkan serta mendefinisikan keamanan yang
akan melindungi basis data didalam DBMS.
2.1.5 Permodelan Entity Relationship (ER Modelling)
Dalam menampilkan perancangan diperlukan adanya model
yang dapat dipahami oleh perancang, programmer dan penggunanya
(Connoly dan Begg, 2005:342). Permodelan data ini secara garis besar
terdiri dari entitas, relationship, dan attribut.
1.
Entitas
Entitas adalah objek yang memiliki karakteristik dan
karakteristik itu merepresentasikan keberadaan entitas tersebut
(Connoly dan Begg, 2005:343). Dalam kenyataan biasanya
entitas memiliki wujud fisik seperti karyawan, produk, sales
order dan sebagainya. Tipe entitas adalah kumpulan dari entitasentitas yang dapat diidentifikasi dari analisis kebutuhan
penggunanya.
Gambar 2.1 Contoh Entitas
2.
Relasi
Tipe relasi menggambarkan hubungan antara satu entitas
dengan entitas lainnya. Setiap relasi diberikan nama yang
mewakili fungsi hubungan tersebut (Connoly dan Begg,
2005:346). Berikut adalah contoh relasi antara entitas Karyawan
dan SalesOrder yang diartikan bahwa seorang karyawan dapat
mengurus banyak SalesOrder sekaligus dalam satu waktu.
Gambar 2.2 Contoh Relasi
3.
Attribut
Attribut adalah sifat-sifat yang menggambarkan entitas
dan relasi didalam model data. Attribut ini dapat menyimpan
data atau nilai dan dapat diproses secara logikal (Connoly dan
Begg, 2005:350).
Gambar 2.3 Contoh Attribut
2.1.6 Macam-macam Key
Dibawah ini menjelaskan macam-macam key yang ada dalam
sistem basis data (Connoly dan Begg, 2005:352-353).
1.
Candidate Key
Candidate key adalah kumpulan attribut yang mampu
mengidentifikasi entitas secara unik. Nilai dari candidate key
tidak boleh null.
2.
Primary Key
Primary key adalah kumpulan attribut yang mampu
mengidentifikasi entitas secara unik. Primary key dipilih dari
candidate key yang telah dibuat.
3.
Composite Key
Composite
key
adalah
attribut-attribut
yang
mengidentifikasi entitas secara unik, lebih dari satu. Hal ini
disebabkan
satu
attribut
tidak
mampu
secara
penuh
merepresentasikan sebuah entitas.
4.
Foreign Key
Foreign key adalah attribut dalam sebuah entitas (tabel)
dan menjadi primary key di entitas lain pada saat kedua entitas
ini terhubung.
5.
Alternate Key
Alternate key adalah candidate key yang tidak terpilih
menjadi primary key.
2.2
Teori Tematik
Bagian ini menjelaskan teori-teori yang berkaitan dengan sistem yang
akan dibangun.
2.2.1 Penjualan
Penjualan adalah kegiatan jual baik barang dan jasa secara tunai
maupun kredit (Mulyadi,2001:202) . Penjualan tunai dilakukan ketika
pembeli membayar semua biaya barang yang dibeli sebelum pihak
penjual menyerahkan barang yang dijual. Sedangkan penjualan secara
kredit terjadi ketika penjual memberikan barang yang dijual kepada
pembeli dan memberikan jangka waktu bagi pembeli untuk
melunasinya.
2.2.2 Pembelian
Pembelian dapat didefinisikan sebagai pengadaan barang
dagang untuk dijual kembali (Mulyadi, 2001:299).
2.2.3 Pergudangan
Pergudangan atau persediaan bertujuan untuk memberikan
informasi perubahan yang terjadi di gudang (Mulyadi, 2001:553).
Perubahan dapat terjadi karena penjualan, retur penjualan, pembelian
ataupun retur pembelian.
2.2.4 Web
Web dapat didefinisikan sebagai sistem yang menunjang
berbagai media berisi teks, suara, video dan sebagainya yang dapat
diakses oleh penggunanya melalui internet (Connoly dan Begg,
2005:998). Terdapat 2 macam halaman web, yaitu web statis dan web
dinamis. Web statis adalah halaman web yang isi nya tidak akan
berubah apabila file sumber web tersebut tidak diubah. Web dinamis
adalah halaman web yang isinya berubah menyesuaikan dengan
pandangan (view) tertentu setiap kali diakses oleh penggunanya.
2.2.5 HyperText Markup Language (HTML)
HTML adalah standar komunikasi dalam proses requests dan
response yang terjadi antara browser pengguna dengan server dari
web yang melayaninya (Nixon ,2012:2).
2.2.6 PHP
PHP adalah bahasa pemrograman berbasis web yang mampu
memberikan output dinamis. Browser pengguna mengirimkan pesan
kepada server yang berbentuk halaman web berekstensi .php lalu web
server akan memproses permintaan tersebut dan merespon output
hasil pemrosesan. Halaman yang menggunakan PHP akan berekstensi
.php, namun halaman dapat dikonfigurasi menjadi berekstensi .html
sesuai keinginan programmer (Nixon, 2012:37). Potongan kode PHP
dapat dibuat didalam bagian kode HTML dan server akan
mengirimkan output halaman html sehingga web browser tidak dapat
menampilkan source code PHP yang diproses (Sebesta,2011:119).
2.2.7 PHPMyadmin
PhpMyadmin adalah sebuah aplikasi berbasis web yang dibuat
dengan php dibantu dengan XHTML, CSS dan Javascript. Aplikasi
ini menyediakan fitur-fitur untuk mengatur basis data SQL melalui
antarmuka halaman web (Delisle,2012:8). PhpMyadmin menjadi
antarmuka untuk menggunakan basis data MySQL, dapat diakses
melalui web browser menjadikan kemudahan bagi penggunanya.
Untuk menggunakan PhpMyadmin perlu dipasang perangkat lunak
tambahan. PHPMyadmin dapat mengakses basis data MySQL dan
menghasilkan file berekstensi .sql.
2.2.8 MySQL
MySQL adalah sebuah DBMS yang paling popular untuk
penggunaan web database server. Dibuat di pertengahan 1990,
sekarang MySQL menjadi teknologi yang digunakan
hampir di
semua halaman web (Nixon,2012:161). Tidak dipungut biaya dalam
menggunakan, mendistribusikan basis data MySQL ini menjadi salah
satu alasan kepopuleran serta kompatibel dengan PHPMyadmin.
2.3
Hasil Produk Sebelumnya
Bagian ini memperlihatkan analisis terhadap contoh aplikasi basis data
sebelumnya.
2.3.1 Perbandingan Produk Basis Data
Penulis menggunakan produk basis data sejenis untuk menjadi
bahan perbandingan analisis dan perancangan basis data. Produk basis
data yang dijadikan bahan perbandingan adalah “Analisa dan
Perancangan Sistem Basis Data Persediaan, Pembelian, dan Penjualan
Berbasis Web Pada PT. Rabana Chemical” serta “Sistem Basis Data
Penjualan, Pembelian SukuCadang dan Antrian Servis Berbasis Web
Pada PT. Agung Perkasa Motor”. Produk tersebut merupakan hasil
dari skripsi mahasiswa Binus yang membahas sistem penjualan,
pembelian dan persediaan berbasis web. Bahan tersebut cocok untuk
dijadikan perbandingan pada skripsi yang ditulis ini karena kemiripan
fiturnya dan melengkapi apa yang menjadi kekurangan dari produk
tersebut.
2.3.2 Analisis Produk Sebelumnya
Hal pertama, penulis menemukan kesalahan penggunaan key
pada tabel detail: penjualan, retur penjualan, order pembelian, retur
pembelian, dan order pembelian. Berikut adalah gambar ERD dari
perancangan basis data logikal tersebut.
Gambar 2.4 ERD PT.Rabana Chemical
Penggunaan key pada tabel detail: penjualan, retur penjualan,
order pembelian, retur pembelian, dan order pembelian seharusnya
mengunakan dua primary key. Contohnya pada tabel detail penjualan
seharusnya primary key nya adalah NoFakJual dan KdBrg. Jika
KdBrg tidak dijadikan primary key maka tabel tersebut belum dapat
mengidentifikasikan setiap attributnya secara unik dan belum
ternormalisasi.
Hal kedua adalah tentang keamanan akses basis data. Terlihat
pada diagram ERD diatas bahwa pada sistem tersebut tidak
menggunakan fitur akses basis data melainkan otentikasi data
berdasarkan tabel “login”. Hal ini didukung oleh pernyataan prosiding
berikut “keamanan lebih terjamin dengan dibuatnya pembagian hak
akses
sesuai
dengan
jabatan
dan
bagian
pengguna”(Oenzil,
Christiandy, Margetha, Seminar Nasional Binus ICTC 2011: 147).
Hal ketiga adalah mengenai normalisasi. Relasi yang memiliki
derajat normalisasi tinggi akan memiliki jumlah attribut yang lebih
sedikit tetapi memperberat kinerja pengambilan data /retrieval
(Cotelea,2012:18). Hal ini diperjelas dengan kutipan jurnal berikut
”Dalam proses mengorganisasi data terdapat dua hal yang harus
diperhatikan , kecepatan akses data dan penggunaan ruang disk yang
minimal” (Lungu, Velicanu, Botha, 2009:85). Ketika menginginkan
kecepatan proses data meningkat maka membutuhkan ruang disk yang
besar pula. Sebaliknya jika menginginkan penggunaan ruang disk
yang minimal maka akan memperlambat kinerja proses data.
Gambar 2.5 ERD PT.Agung Perkasa Motor
Untuk gambar ERD hasil normalisasi diatas dapat ditunjukkan
bahwa ERD tersebut menunjukkan penggunaan dua primary key pada
tiap tabel detail. Contohnya Detail Pengiriman Sparepart dan Detail
Penjualan SparePart.
Gambar 2.6 Layar Penjualan PT.Agung Perkasa Motor
Gambar diatas adalah contoh layar antarmuka web yang
digunakan pada PT. Agung Perkasa Motor.
Download