bab 2 tinjauan pustaka - binus librarylibrary.binus.ac.id/ecolls/ethesisdoc/bab2/2014-1-01209... ·...
TRANSCRIPT
7
BAB 2
TINJAUAN PUSTAKA
2.1 Teori yang Berkaitan dengan Database
2.1.1 Database
Menurut Connolly dan Begg (2010, p65), database adalah sebuah data
logical yang dirancang sebagai informasi yang dibutuhkan oleh sebuah
deskripsi dari data yang dirancang sebagai informasi yang dibutuhkan oleh
sebuah perusahaan. Sebuah basis data merepresentasikan entities, attributes,
dan sebuah relasi yang logical antara enitites tersebut.
2.1.2 Database Management System (DBMS)
Menurut Connolly dan Begg (2010, p66), database management system
adalah sebuah sistem perangkat lunak yang memperbolehkan pengguna untuk
mendefisinikan, membuat, memelihara, dan mengontrol akses ke dalam basis
data.
Sebuah DBMS menyajikan beberapa fasilitas seperti :
a. DDL (Data Definition Language) memungkinkan pengguna untuk
menspesifikasi tipe – tipe data, struktur data dan batasan – batasan
pada data yang tersimpan di dalam sebuah basis data.
b. DML (Data Manipulation Language) memungkinkan pengguna untuk
memasukkan, mengubah, menghapus dan mengambil data pada
sebuah basis data. Memilik repository pusat untuk semua data dan
deskripsi data, mengizinkan DML untuk menyajikan sebuah fasilitas
permintaan umum untuk data ini, dinamakan query language.
c. DBMS menyajikan pengontrolan akses ke basis data berupa:
1. A security system, dapat mencegah pengguna yang tidak
memiliki hak akses mengakses basis data
2. An integrity system, dapat menjaga konsistensi dari data yang
disimpan
3. A concurrency control system, memungkinkan pembagian akses
dari sebuah basis data
8
4. A recovery control system, dapat mengembalikan basis data ke
kondisi semula apabila terjadi kerusakan pada hardware atau
software
5. A user-accessible catalog, berisikan deskripsi dari data di dalam
basis data
a. Komponen lingkungan DBMS
Menurut Connolly dan Begg (2010, p68-71), terdapat 5
komponen utama dalam DBMS Environment, yaitu hardware,
software, data, procedures, dan people.
Gambar 2.1 - Komponen DBMS Environment
(Sumber: Connolly, 2010, p68)
1. Hardware
Agar dapat berjalan, pengaplikasian DBMS memerlukan
perangkat keras yang terdiri dari single personal computer,
single mainframe, atau network of computers. Tidak semua
DBMS dapat berjalan pada bermacam-macam perangkat keras
serta sistem operasi.
2. Software
Komponen perangkat lunak terdiri atas perangkat lunak DBMS
dan program aplikasi beserta sistem operasi termasuk perangkat
lunak jaringan apabila DBMS digunakan dalam sebuah jaringan.
3. Data
Data sebagai salah satu komponen penting dalam DBMS
berdasarkan sudut pandang pengguna adalah sebagai
penghubung antara komponen mesin (perangkat keras) dengan
komponen manusia.
9
4. Procedures
Prosedur berisi instruksi-instruksi dan aturan-aturan yang
mengatur suatu rancangan dan penggunaan basis data. Proses
yang terdapat di dalamnya adalah:
a) login ke dalam basis data
b) penggunaan fasilitas DBMS
c) memulai dan mengakhiri DBMS
d) membuat backup basis data
e) menangani kegagalan perangkat keras dan perangkat lunak
f) mengubah struktur tabel, mengatur ulang basis data
melalui multiple disk, meningkatkan kinerja atau arsip data
pada secondary storage.
5. People
Manusia sebagai salah satu komponen yang terlibat dalam
proses sistem basis data, dapat diidentifikasikan sebagai data
administrators, database administrators, database designers,
application developers, dan end users.
b. Keuntungan DBMS
Menurut Connolly dan Begg (2010, p77-81), terdapat 14
keuntungan dari penggunaan DBMS yaitu:
1. Control of data redundancy
Pendekatan basis data yang ditujukan untuk mengeliminasi
redundansi dengan mengintegrasikan file-file sehingga
banyaknya file dari data yang sama tidak disimpan. Pendekatan
tersebut tidak menghilangkan redundansi secara keseluruhan,
tetapi mengontrol jumlah redundansi yang terjadi.
2. Data consistency
Dengan menghilangkan atau mengontrol redundansi akan
meminimalisir resiko tidak konsisten yang muncul terhadap
data. Data disimpan hanya sekali dalam basis data, setiap update
yang dilakukan menghasilkan perubahan untuk semua pengguna
sesegera mungkin.
10
3. More information from the same amount of data
Dengan terintegrasinya data operasional, memungkinkan
organisasi untuk memperoleh informasi tambahan melalui data
tersebut.
4. Sharing of data
Basis data suatu organisasi digunakan oleh pengguna yang
memiliki otorisasi. Sejauh ini, penggunaan data dalam
membangun sebuah aplikasi adalah data yang sudah disediakan,
sedangkan untuk data yang akan ditambahkan belum tentu
masuk kedalam DBMS melainkan hanya digunakan untuk
mendefinisikan persyaratan yang ada. Aplikasi yang baru juga
dapat digunakan untuk definisi dan manipulasi data.
5. Improved data integrity
Integritas basis data menunjukkan validitas dan konsistensi data
yang disimpan. Integritas biasanya disesuaikan dengan
constraint.
6. Improved security
Keamanan basis data adalah perlindungan basis data terhadap
pengguna-pengguna yang tidak berwenang. Akses yang
diperbolehkan terhadap pengguna yang memiliki wewenang
dibatasi oleh operasi tertentu (retrieval, insert, update, delete).
7. Enforcement of standards
Integrasi memperbolehkan Database Administrator (DBA)
untuk mendefinisikan dan menegaskan standar-standar yang
diperlukan, meliputi skala departemen, organisasi, nasional,
maupun internasional.
8. Economy of scale
Dengan menggabungkan seluruh data operasional organisasi
kedalam suatu basis data dan membuat sebuah set aplikasi pada
satu sumber data yang berdampak terhadap penghematan biaya.
9. Balance of conflicting requirements
Setiap pengguna atau departemen memiliki kebutuhan-
kebutuhan yang memungkinkan terjadinya konflik terhadap
kebutuhan dari pengguna lainnya. Karena basis data
11
dikendalikan DBA, maka DBA dapat membuat keputusan
tentang perancangan dan operasional dari basis data. Keputusan
yang dihasilkan akan mendukung performa yang optimal pada
aplikasi tersebut.
10. Improved data accessibility and responsiveness
Sebagai dampak dari integrasi, data dapat diakses secara
langsung oleh end user melalui batasan antar departemen.
11. Increased productivity
DBMS menyediakan berbagai fungsi standar yang
memungkinkan programmer untuk berkonsentrasi pada
fungsionalitas spesifik yang dibutuhkan oleh user tanpa harus
mengkhawatirkan rincian low-level implementation. Hal ini
meningkatkan produktivitas dari programmer dan mengurangi
waktu pengembangan serta efisiensi terhadap biaya.
12. Improved maintenance through data independence
Deskripsi dari data dan logika yang digunakan untuk mengakses
data antar aplikasi satu sama lainnya, menyebabkan program
tergantung dengan data. DBMS memisahkan deskripsi data dari
aplikasi sehingga menghilangkan ketergantungan.
13. Increased concurrency
Dalam basis data, jika terdapat dua atau lebih pengguna
mengakses data yang sama secara bersamaan, maka akan
mengakibatkan terjadinya kehilangan informasi atau kehilangan
integritas. DBMS mengelola akses konkurensi basis data dan
meyakinkan agar masalah pengaksesan data tersebut tidak
terjadi.
14. Improved backup and recovery services
File-based systems menyediakan batasan dan ukuran untuk
melindungi data dari kegagalan sistem operasi maupun program
aplikasi melalui layanan backup dan recovery.
12
c. Kerugian DBMS
Menurut Connolly dan Begg (2010, p80-81), terdapat 7 kerugian
dari penggunaan DBMS yaitu:
1. Complexity
Ketentuan yang diharapkan dari fungsionalitas DBMS yang
baik, menjadikannya sebagai perangkat lunak dengan
kompleksitas yang sangat tinggi.
2. Size
Karena kompleksitas dan kedalaman dari fungsionalitas, DBMS
memerlukan kapasitas penyimpanan yang besar.
3. Cost of DBMS
Variasi dari biaya DBMS secara signifikan bergantung pada
lingkungan dan fungsionalitas yang tersedia.
4. Additional hardware costs
Kapasitas penyimpanan yang dibutuhkan DBMS dan basis data
menyebabkan pembelian kapasitas penyimpanan tambahan.
5. Cost of conversion
Biaya yang dibutuhkan DBMS dan perangkat keras tambahan
dibandingkan dengan biaya konversi aplikasi yang telah ada
sebelumnya untuk menjalankan DBMS dan perangkat keras
yang baru.
6. Performance
DBMS digunakan untuk melayani lebih dari satu aplikasi,
sehingga tidak memiliki performa yang sebagaimana mestinya.
7. Greater impact of a failure
Sentralisasi dari sumber daya meningkatkan kerentanan dari
sebuah sistem dikarenakan semua pengguna dan aplikasi
bergantung pada DBMS.
d. Fungsi DBMS
Menurut Connolly dan Begg (2010, p100-104), fungsi-fungsi
yang terdapat pada Database Management System (DBMS) meliputi:
13
1. Data storage, retrieval, dan update
DBMS harus menyediakan kemampuan untuk melakukan store,
retrieve, dan update data terhadap basis data bagi pengguna.
2. A user-accesible catalog
DBMS harus menyediakan sebuah catalog yang
mendeskripsikan data items yang disimpan dan diakses oleh
pengguna.
3. Transaction support
DBMS harus menyediakan mekanisme yang memastikan bahwa
seluruh updates dari transaksi yang diberikan berhasil dibuat
atau tidak ada transaksi yang dibuat.
4. Concurrency control services
DBMS harus menyediakan mekanisme yang memastikan bahwa
basis data di-update dengan benar jika beberapa pengguna
melakukan update basis data secara bersamaan.
5. Recovery services
DBMS harus menyediakan mekanisme pengembalian basis data
jika mengalami kerusakan.
6. Authorization services
DBMS harus menyediakan mekanisme agar hanya pengguna
berwenang yang dapat melakukan akses pada basis data.
7. Support for communication data
DBMS harus mampu diintegrasikan dengan perangkat lunak
komunikasi.
8. Integrity services
DBMS harus menyediakan sarana agar seluruh data dan
perubahan data di dalamnya mengikuti aturan tertentu.
9. Services to promote data independence
DBMS harus mencakup fasilitas yang mendukung independence
programs dari struktur aktual basis data.
14
10. Utility services
DBMS harus menyediakan utility services tertentu, contohnya:
a) Fasilitas import untuk load basis data dari flat files, dan
sebaliknya fasilitas export untuk unload basis data kepada
flat files.
b) Fasilitas monitoring untuk mengawasi penggunaan dan
operasi basis data.
c) Statistical analysis programs untuk memeriksa kinerja dan
statistik pemakaian.
d) Fasilitas index reorganization untuk merombak indexes
dan overflow.
e) Garbage collection dan reallocation untuk menghapus
records secara fisik dari storage devices, konsolidasi
terhadap space released, dan alokasi kembali saat
dibutuhkan.
e. Fasilitas yang terdapat di DBMS
Menurut Connolly dan Begg (2010, p66), secara khusus, sebuah
DBMS menyediakan fasilitas-fasilitas sebagai berikut:
1. Memperbolehkan pengguna untuk melakukan definisi terhadap
basis data, umumnya melalui Data Definition Language (DDL).
DDL memungkinkan pengguna melakukan spesifikasi terhadap
tipe-tipe data dengan struktur beserta constraints dari data
tersebut untuk disimpan ke dalam basis data.
2. Memperbolehkan pengguna untuk melakukan insert, update,
delete dan retrieve data dari basis data, umumnya melalui Data
Manipulation Language (DML). Memiliki central repository
terhadap seluruh data dan deskripsinya yang memungkinkan
DML untuk menyediakan fasilitas general inquiry terhadap data
tersebut yang dikenal sebagai query language.
3. Menyediakan akses kontrol terhadap basis data sebagai berikut:
a) Sistem keamanan yang mencegah pengguna tidak
berwewenang melakukan akses terhadap basis data.
15
b) Sistem integritas yang mengelola konsistensi data yang
disimpan.
c) Sistem pengendalian konkurensi yang mengijinkan
berbagi akses basis data.
d) Sistem pengendalian pemulihan yang melakukan restorasi
basis data terhadap kondisi sebelumnya terkait kegagalan
perangkat lunak maupun perangkat keras. User-accessible
catalog yang berisi deskripsi-deskripsi data di dalam basis
data.
2.1.3 Database System Development Lifecycle
Menurut Connolly dan Begg (2010, p313), sebuah sistem database
merupakan komponen dasar sistem informasi organisasi yang lebih besar
sehingga siklus hidup pengembangan sistem database berhubungan dengan
siklus hidup sistem informasi. Berikut adalah tahapan-tahapan siklus hidup
pengembangan sistem database:
16
Gambar 2.2 - Database System Development Lifecycle
(Sumber: Connolly, 2010, p314)
a. Database Planning
Database planning (perencanaan basis data) adalah
merencanakan bagaimana tahapan dari siklus hidup direalisasikan
secara efektif dan efisien.
Ada tiga tahapan perencanaan database yaitu:
1. Mengidentifikasi rencana dan tujuan pembuatan aplikasi
database untuk menetapkan kebutuhan sistem informasi.
2. Mengevaluasi sistem yang sudah ada untuk menentukan
kelebihan dan kekurangannya.
17
3. Menilai kesempatan teknologi informasi untuk menghasilkan
keuntungan.
b. System Definition
System definition (definisi sistem) adalah menggambarkan
lingkup dan batasan-batasan dari aplikasi database dan user view yang
utama. Sebelum mencoba merancang suatu aplikasi database,
diperlukan untuk mengenali batasan sistem dan bagaimana antarmuka
dengan bagian sistem informasi lainnya dalam organisasi. Hal penting
yang harus diperhatikan adalah batasan pemakai dalam aplikasi
mendatang. Mengidentifikasikan user view sangat penting dalam
mengembangkan aplikasi database agar dapat memastikan tidak ada
pengguna utama yang terlupakan ketika mengembangkan keperluan
untuk aplikasi baru.
c. Requirements Collection and Analysis
Requirements collection and analysis (pengumpulan kebutuhan
dan analisis) adalah proses dari analisis dan pengumpulan informasi
tentang bagian organisasi yang didukung oleh sistem aplikasi
database dan menggunakan informasi ini untuk mengenali kebutuhan-
kebutuhan untuk sistem baru.
d. Database Design
Database design (perancangan basis data) adalah sebuah proses
dalam menciptakan perancangan untuk database yang akan
mendukung operasi dan tujuan perusahaan. Ada 4 pendekatan dalam
perancangan database yaitu:
1. Top-down
Diawali dengan pembentukan model data yang berisi beberapa
entity high-level dan relasi yang kemudian menggunakan
pendekatan top-down secara berturut-turut untuk
mengidentifikasi entity lower level, relasi, dan atribut lainnya.
2. Bottom-up
Dimulai dari atribut dasar yaitu sifat-sifat entity dan relasi
dengan analisis dari penggabungan antar atribut, yang
dikelompokkan ke dalam suatu relasi yang merepresentasikan
tipe dari entity dan relasi antar entity.
18
3. Inside-out
Berhubungan dengan pendekatan bottom-up tetapi sedikit
berbeda dengan identifikasi awal entity utama yang kemudian
menyebar ke entity, relasi, dan atribut terkait lainnya yang lebih
dulu diidentifikasi. Karena itu cara pendekatan ini merupakan
salah satu cara yang tepat jika identifikasi awal merupakan
entity utama yang akan dibuat menjadi entity khusus.
4. Mixed
Menggunakan pendekatan bottom-up dan top-down untuk
bagian yang berbeda sebelum pada akhirnya digabungkan.
Proses perancangan database terdiri dari 3 tahapan yaitu:
a) Conceptual database design
Proses pembuatan model informasi yang digunakan agar
tidak tergantung pada semua masalah fisik. Secara garis
besar perancangan ini terdiri dari tiga langkah sebagai
berikut:
1) Penentuan entity pada database.
2) Pendefinisian hubungan/relasi antar entity.
3) Penerjemahan hubungan ke dalam entity.
b) Logical database design
Proses tahapan model informasi yang digunakan
berdasarkan model khusus, dan menggambarkan proses
yang terjadi dalam basis data secara rinci. Proses yang
digambarkan akan dijelaskan secara berurutan dan
menjelaskan atribut yang ada di dalam basis data.
c) Physical database design
Proses pengukuran performa basis data yang akan dibuat.
Dengan mempertimbangkan spesifikasi penyimpanan
sekunder yang akan digunakan. Kecepatan transfer data
juga akan menjadi tolok ukur, karena kecepatan transfer
data akan mempengaruhi performa maupun kinerja sebuah
sistem basis data secara efektif dan efisien.
19
e. DBMS Selection (optional)
DBMS selection (pemilihan DBMS) adalah memilih DBMS
yang sesuai untuk mendukung aplikasi database. Pemilihan DBMS
tepatnya dari bagian lifecycle adalah pemilihan DBMS yang dilakukan
antara tahapan logical database design dan conceptual database
design. Tujuan dari pemilihan DBMS adalah untuk mencukupi
kebutuhan sekarang dan masa mendatang pada perusahaan,
menyeimbangkan biaya seperti pembelian produk DBMS; perangkat
lunak/perangkat keras lainnya untuk mendukung aplikasi database;
serta biaya yang berhubungan dengan perubahan dan pelatihan
pegawai.
Pendekatan sederhana dalam pemilihan DBMS adalah
memeriksa keistimewaan DBMS dalam memenuhi kebutuhan. Dalam
memilih sebuah produk DBMS baru, ada kesempatan untuk
memastikan bahwa proses pemilihan sudah direncanakan dan hasil
yang diberikan sistem benar-benar bermanfaat bagi perusahaan.
f. Application Design
Pada tahap ini dilakukan perancangan antarmuka bagi pengguna
dan program aplikasi yang menggunakan dan memproses database.
Perancangan database dan perancangan aplikasi adalah aktivitas
bersamaan pada siklus hidup pengembangan sistem database. Dalam
kasus sebenarnya, adalah tidak mungkin untuk menyelesaikan
perancangan aplikasi sebelum perancangan database selesai.
Dalam perancangan aplikasi harus memastikan semua
pernyataan fungsional dari spesifikasi kebutuhan pengguna yang
menyangkut perancangan aplikasi program yang mengakses database
dan merancang transaksi yaitu cara akses ke database dan perubahan
terhadap isi database (retrieve, update, dan mixed).
- Retrieval: Mendapatkan data untuk tampilan di layar.
- Update: insert, delete, dan update record pada database.
- Mixed: Gabungan dari retrieval dan update.
Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan
merancang antarmuka pengguna (user interface).
20
Antarmuka yang dirancang harus memberikan informasi yang
dibutuhkan dengan cara untuk menciptakan user-friendly. Rancangan
antarmuka pengguna yang dalam pembuatannya tidak diperhatikan
secara rinci dapat menimbulkan masalah. Oleh karena itu, antarmuka
harus diakui sebagai komponen dari sistem yang penting. Hal ini
bertujuan agar aplikasi mudah dipelajari, mudah digunakan, sehingga
penggunapun akan cenderung untuk memberdayagunakan informasi
yang disajikan.
g. Prototyping (optional)
Pada tahap ini dilakukan pembangunan prototype dari sistem
database. Hasil dari prototype ini memungkinkan perancang atau
pengguna untuk memvisualisasikan dan mengevaluasi bagaimana
bentuk fungsionalitas sistem akhir.
h. Implementation
Pada tahap ini dilakukan pembuatan definisi database secara
eksternal, konseptual, internal, dan program aplikasi. Implementasi
merupakan realisasi dari database dan perancangan aplikasi.
Implementasi pada database dilakukan dengan menggunakan DDL
(Data Definition Language) dari DBMS yang dipilih atau dengan
menggunakan GUI (Graphical User Interface). DDL digunakan untuk
membuat struktur database dan file database yang kosong. Selain
itu, pada tahapan ini semua spesifikasi pandangan dari pengguna juga
diimplementasikan.
i. Data Conversion and Loading
Pada tahap ini dilakukan transfer data yang telah ada ke dalam
database yang baru dan mengkonversi semua aplikasi yang ada untuk
dijalankan pada database yang baru, tahap ini hanya dibutuhkan
ketika sistem database yang baru menggantikan sistem database yang
lama. Pada masa sekarang, umumnya DBMS memiliki kegunaan
untuk memasukkan file ke dalam database yang baru dengan tujuan
untuk memungkinkan pengembang untuk mengkonversi dan
menggunakan aplikasi program lama untuk digunakan oleh sistem
baru.
21
j. Testing
Pada tahap ini dilakukan proses menjalankan program aplikasi
yang bertujuan untuk mencari kesalahan-kesalahan. Sebelum
digunakan, aplikasi database yang baru dikembangkan harus diuji
secara menyeluruh.
Pengguna suatu sistem yang baru seharusnya dilibatkan dalam
proses pengujian. Situasi yang ideal untuk pengujian suatu sistem
adalah dengan menguji database pada sistem perangkat keras yang
berbeda. Walaupun pada kenyataannya, pengujian database pada
sistem perangkat keras yang berbeda jarang dilakukan. Dalam
melakukan pengujian, sebaiknya dilakukan backup data terlebih
dahulu pada data yang akan diuji. Hal ini sebagai langkah antisipasi
kerusakan atau kehilangan data, apabila terjadi kerusakan pada data
saat diuji. Jika pengujian pada sistem aplikasi telah selesai dilakukan
dan tidak lagi ditemukan kesalahan, maka sistem aplikasi telah siap
untuk digunakan dan diserahkan ke pengguna.
k. Operational Maintenance
Operational Maintenance (pemeliharaan operasional) adalah
proses memonitor dan memelihara sistem yang telah di-install. Pada
tahap ini, implementasi database dilakukan sepenuhnya. Sistem
diawali dan dipelihara secara berkelanjutan. Jika diperlukan,
kebutuhan-kebutuhan baru dimasukkan dalam aplikasi database
melalui tahapan database terlebih dahulu.
2.1.4 Normalisasi
Menurut Connolly dan Begg (2010, p416) Normalisasi adalah suatu
teknik untuk menghasilkan sekumpulan relasi dengan sifat – sifat (properties)
yang diinginkan, memenuhi kebutuhan data pada enterprise. Tujuan utama
dalam pengembangan model data logical pada sistem basis relasion adalah
untuk menciptakan representasi akurat suatu data, keterhubungannya dan
batasan-batasannya. Untuk mencapai tujuan ini, maka harus
ditetapkan/diidentifikasi sekumpulan relasi. Tiga bentuk normal yang biasa
digunakan yaitu:
22
1. First Normal Form (1NF)
Definisi dari bentuk pertama ini menurut Connolly dan Begg (2010,
p430) adalah sebuah relasi yang terdapat setiap baris dan kolom
mempunyai hanya satu nilai. Dengan mentransfer data dari sumber ke
dalam format tersebut dan tablem dalam bentuk tidak normal (Un-
Normalized Form / UNF) akan di ubah ke bentuk normal pertama
dengan menghilangkan kelompok yang berulang seperti attribute atau
beberapa atribut.
2. Second Normal Form (2NF)
Definisi dari bentuk kedua ini menurut Connolly dan Begg (2010,
p434) adalah sebuah relasi yang ada pada bentuk normal pertama, dan
setiap atribut yang bukan primary key ketergantungan fungsional
penuh pada primary key. Yang didasarkan pada konsep
ketergantungan fungsional secara penuh. Perubahan dari 1NF ke 2NF
ditentukan dengan menghilangkan ketergantungan parsial yang
dilakukan dengan cara memindahkan ke dalam relasi baru dengan
duplikasi dari determinannya.
3. Third Normal Form (3NF)
Definisi dari bentuk ketiga ini menurut Connolly dan Begg (2010, p
436) adalah sebuah relasi dimana memenuhi 1NF dan 2NF, serta bagi
atribut tidak primary key mengalami ketergantungan transitif pada
primary key. Normalisasi 2NF ke 3NF dilakukan dengan
menghilangkan ketergantungan transitif. Jika terdapat ketergantungan
transitif, maka dihilangkan dari relasi dengan menempatkan atribut
pada suatu relasi yang baru dengan duplikasi determinannya.
2.1.5 Perancangan Basis Data
Menurut Connolly dan Begg (2010, p466), perancangan basis data
merupakan pendekatan terstruktur yang menggunakan bantuan prosedur,
teknik, tools, dan dokumentasi untuk mendukung dan memfasilitasi proses
perancangan basis data. Perancangan basis data terbagi atas tiga tahap
perancangan, yaitu perancangan basis data secara konseptual; perancangan
basis data secara logikal; dan perancangan basis data secara fisikal.
23
a. Perancangan Basis Data secara Konseptual
Menurut Connolly dan Begg (2010, p467), perancangan baris
data secara konseptual adalah suatu proses perancangan model dari
data yang digunakan di dalam perusahaan, independen dari semua
perkiraan fisikal. Perancangan konseptual dimulai dengan
perancangan data model yang tidak bergantung pada detail
implementasi seperti DBMS yang dituju, aplikasi program, bahasa
pemrograman, hardware platform, isu performa, atau pertimbangan
fisikal lainnya.
Menurut Connolly dan Begg (2010, p471-485), langkah-langkah
dalam perancangan basis data secara konseptual yaitu:
Langkah 1: Membangun model data konseptual
Langkah ini bertujuan untuk memecah rancangan menjadi tugas-
tugas yang dapat diatur dengan memeriksa sudut pandang yang
berbeda dari pengguna di dalam suatu organisasi. Langkah-langkah
dalam membangun model data konseptual yaitu:
1. Mengidentifikasi tipe entity
Langkah pertama dalam membangun model data konseptual
lokal adalah menentukan objek-objek utama atau
mengidentifikasikan entity yang diperlukan pengguna.
2. Mengidentifikasi tipe relationship
Mengidentifikasi hubungan-hubungan (relationship) yang
penting antara entitas-entitas yang ditemukan pada tahap
sebelumnya. Entity-relationship Modelling digunakan untuk
menggambarkan entity dan hubungannya. Dalam tahap ini juga
ditentukan batasan multiplicity dari relationship tersebut dan
pengecekan adanya fan atau chasm traps dalam model tersebut.
Setelah itu dilakukan dokumentasi relationship.
• Fan traps terjadi dimana model yang merepresentasikan
suatu hubungan antar entity, tetapi alur relasinya
memperlihatkan ambiguitas.
• Chasm traps terjadi dimana model menggambarkan
keadaan dari hubungan antara entity yang satu dengan
24
yang lainnya, tetapi tidak ada hubungan antara kedua
emitas yang utama.
3. Mengidentifikasi dan asosiasi atribut dengan entity dan
relationship
Menghubungkan atribut-atribut dengan entity atau relationship
yang tepat. Mengidentifikasikan simple attribute, composite
attribute, single-valued attribute, multi-valued attribute dan
derived attribute.
4. Menentukan tipe domain atribut
Langkah ini bertujuan untuk menentukan domain atribut pada
model data konseptual. Yang dimaksud wilayah adalah
sekumpulah nilai-nilai dimana suatu atribut menggambarkan
nilainya. Contoh nilai yang mungkin untuk atribut jenis kelamin
dari entity Karyawan adalah ‘M’ atau ‘F’, wilayah dari atribut
ini adalah single character string yang berisi nilai ‘M’ atau ‘F’.
Setelah itu, dilakukan dokumentasi domain atribut.
5. Menentukan candidate, primary, dan alternate keys
Menentukan candidate key untuk setiap entity. Jika terdapat
lebih dari satu candidate key, tentukan salah satu candidate key
menjadi primary key dan yang lainnya menjadi alternate key.
6. Mempertimbangkan penggunaan enhanced modeling
concepts (optional)
Mempertimbangkan penggunaan konsep permodelan, seperti
specialization, generalization, aggregation dan composition.
• Specialization adalah proses memaksimalkan perbedaan
antara anggota entity dengan mengindentifikasi
karakteristik yang membedakan seluruh entity.
• Generalization adalah proses meminimalkan perbedaan
antara entity dengan mengidentifikasi karakteristik yang
sama dari masing-masing entity.
• Aggregation adalah mempresentasikan hubungan ‘has-a’
atau ‘is-part-of’ antara tipe-tipe entity, dimana salah
satunya adalah sebagai ‘whole’ dan yang lainnya sebagai
‘part’
25
• Composition adalah bentuk agregasi yang khusus yang
merepresentasikan hubungan antar entity yang terdapat
strong ownership dan dalam lingkup waktu yang
bersamaan antara whole dengan part.
7. Memeriksa redudansi model
Memeriksa keberadaan redudansi dalam model. Dilakukan
pemeriksaan secara spesifik terhadap hubungan one-to-one
(1:1), menghilangkan hubungan (relationship) yang redundan,
dan mempertimbangkan penggunaan dimensi waktu.
8. Melakukan validasi model konseptual terhadap transaksi
pengguna
Langkah ini bertujuan untuk menjamin bahwa data model
konseptual mendukung kebutuhan transaksi pengguna. Dengan
menggunakan model yang telah divalidasi tersebut, dapat
digunakan untuk melaksanakan operasi secara manual. Ada dua
pendekatan yang mungkin untuk menjamin bahwa data model
konseptual lokal mendukung kebutuhan transaksi, yaitu:
• Mendeskripsikan transaksi
Memeriksa seluruh informasi (entities, relationship, dan
attribute) yang diperlukan pada setiap transaksi yang
disediakan oleh model dengan mendokumentasikan
penggambaran dari tiap kebutuhan transaksi.
• Menggunakan transaction pathways
Pendekatan kedua menggunakan transaction pathways,
pendekatan ini untuk memvalidasi model atau data
terhadap transaksi yang dibutuhkan, termasuk representasi
diagram alur yang digunakan oleh setiap transaksi
langsung pada Entity Relationship Diagram (ERD).
9. Meninjau kembali model data konseptual dengan pengguna
Langkah ini bertujuan untuk memastikan bahwa model data
tersebut secara tepat menggambarkan transaksi dan kebutuhan
data secara nyata dalam organisasi.
26
b. Perancangan Basis Data secara Logikal
Menurut Connolly dan Begg (2010, p467), perancangan basis
data secara logikal adalah suatu proses membangun data model yang
digunakan perusahaan berdasarkan data model yang spesifik tetapi
independen terhadap DBMS yang ada atau perkiraan fisikal lainnya.
Perancangan logical desain basis data memetakan model konseptual
menjadi model logical, yang mana dipengaruhi oleh model data untuk
basis data yang dituju.
Menurut Connolly dan Begg (2010, p490-518), langkah-langkah
dalam perancangan basis data secara logikal yaitu:
Langkah 2: Membangun model data logikal
Langkah ini bertujuan untuk membuat model data logikal lokal
dari model data konseptual lokal yang merepresentasikan pandangan
khusus dari organisasi dan memvalidasi model tersebut untuk
menjamin kebenaran strukturnya (dengan menggunakan teknik
normalisasi) dan menjamin bahwa model tersebut mendukung
transaksi. Langkah-langkah dalam membangun model data logikal
yaitu:
1. Membuat relasi untuk model data logikal
Membuat relasi dari model data konseptual untuk
mempresentasikan entity, relationship, dan attribute yang telah
diidentifikasi.
2. Memvalidasi relasi menggunakan normalisasi
Validasi relasi pada model data logikal menggunakan teknik
normalisasi. Tujuan langkah ini adalah untuk memastikan setiap
relasi sudah berada dalam bentuk 3NF (Third Normal Form).
3. Memvalidasi relasi terhadap transaksi pengguna
Tahap ini bertujuan untuk memastikan hubungan dalam model
data logikal mendukung transaksi yang dibutuhkan. Dalam
langkah ini akan dilakukan operasi basis data secara manual,
bila semua transaksi yang dibutuhkan dapat berjalan semestinya
maka model data logikal terhadap transaksi telah divalidasi.
27
4. Melakukan pemeriksaan terhadap integrity constraints
Integrity constraint adalah batasan yang ditentukan untuk
menghindari data menjadi tidak konsisten. Tipe-tipe batasan
integritas, yaitu:
• Required data
Beberapa attribute harus selalu berisi data yang valid.
Dengan kata lain, tidak boleh kosong (null).
• Attribute domain constraint
Setiap attribute mempunyai domain, yaitu kumpulan dari
nilai-nilai yang memenuhi persyaratan. Contohnya jenis
kelamin diisi dengan ‘P’ atau ‘L’.
• Multiplicity
Multiplicity menunjukkan batasan yang ditempatkan pada
relasi-relasi antar data dalam basis data.
• Entity integrity
Primary key dari suatu entity tidak boleh kosong (null)
• Referential integrity
Jika suatu foreign key memiliki nilai, maka nilai tersebut
harus menunjuk ke sebuah baris yang ada pada relasi
‘Parent’.
• General constraint
Batasan yang berasal dari persyaratan-persyaratan bisnis
perusahaan. Kemudian dokumentasi semua integrity
constraint.
5. Review model data logikal dengan pengguna
Review model data logikal dengan pengguna untuk memastikan
bahwa pengguna menyetujui model data logikal merupakan
representasi nyata terhadap persyaratan data perusahaan.
6. Menggabungkan model data logikal ke model data global
(optional)
Perancangan basis data secara logikal memudahkan
perancangan basis data yang sederhana maupun basis data
kompleks. Untuk membuat basis data dengan multiple user
28
view, digunakan pendekatan integrasi view. Pada tahap ini,
model data logikal digabungkan menjadi satu.
7. Memeriksa model terhadap perkembangan di masa depan
Menentukan apakah akan ada perubahan penting yang mungkin
dapat muncul terjadi di masa depan dan untuk menilai apakah
model data logikal dapat menyesuaikan diri dengan perubahan
tersebut.
c. Perancangan Basis Data secara Fisikal
Menurut Connolly dan Begg (2010, p467), perancangan basis
data secara fisikal adalah suatu proses dalam memproduksi deskripsi
dari implementasi basis data di tahap kedua. Hal ini menjelaskan
hubungan dasar, organisasi file, dan index – index yang digunakan
untuk mencapai cara akses data yang efisien dan terhubung dengan
batasan integritas dan keamanan.
Menurut Connolly dan Begg (2010, p525-528), langkah-langkah
dalam perancangan basis data secara fisikal yaitu:
Langkah 3: Menerjemahkan model data logikal untuk DBMS
yang ditargetkan
Langkah ini bertujuan untuk menghasilkan skema basis data
relasional dalam model data logikal global yang dapat
diimplementasikan ke DBMS. Langkah-langkah dalam
menerjemahkan model data logikal untuk DBMS yang ditargetkan,
yaitu:
1. Merancang relasi dasar
Menentukan bagaimana representasi relasi dasar yang telah
diidentifikasi pada model data logikal global, agar dapat
diimplementasikan pada DBMS yang ditargetkan. Informasi
yang diperlukan dapat diperoleh dari kamus data dan definisi
dari relasi dideskripsikan menggunakan database design
language (DBDL).
2. Merancang representasi derived data
Menentukan bagaimana representasi derived data (data turunan)
yang ada pada model data logikal global, agar dapat
29
diimplementasikan pada DBMS yang ditargetkan. Attribute
yang mana nilainya didapatkan dari mengkaji nilai attribute lain
dinamakan derives atau calculated attributes. Derived attribute
seringkal tidak muncul dalam perancangan basis data logikal
tetapi didokumentasikan di dalam kamus data.
3. Merancang general constraints
Merancang general constraints (batasan umum) untuk DBMS
yang akan digunakan.
Langkah 4: Merancang organisasi file dan index
Menurut Connolly dan Begg (2010, p529-541), langkah ini
bertujuan untuk menentukan organisasi file yang optimal yang
menyimpan hubungan dasar dan index yang diperlukan untuk
mencapai kinerja agar dapat diterima, yang artinya relasi dan tuple
akan disimpan dalam penyimpanan secondary. Langkah-langkah
dalam merancang organisasi file dan index, yaitu:
1. Menganalisa transaksi
Memahami fungsionalitas transaksi yang dijalankan pada
basisdata dan menganalisa transaksi-transaksi yang penting.
2. Memilih organisasi file (optional)
Langkah ini bertujuan untuk menentukan organisasi file yang
efisien untuk setiap relasi dasar jika diperoleh DBMS yang akan
digunakan.
3. Memilih organisasi index
Langkah ini bertujuan untuk menentukan apakah kegunaan
index akan meningkatkan kinerja sistem. Terdapat tiga jenis
index, yaitu:
• Primary index, pengindeksan dilakukan pada kolom kunci
(key field) yang diurutkan terlebih dahulu secara
sekuensial.
• Clustering index, pengindeksan dilakukan pada non-key
field yang sudah diurutkan terlebih dahulu secara
sekuensial. Kolom tersebut disebut juga dengan clustering
attribute.
30
• Secondary index, pengindeksan dilakukan pada kolom
yang tidak terurut di dalam file data.
4. Memperkirakan kebutuhan disk space
Memperkirakan besarnya disk space yang diperlukan untuk
mendukung implementasi basis data. Estimasi pemakaian disk
tergantung pada DBMS dan perangkat keras yang digunakan
untuk mendukung basis data. Perkiraan ukuran dapat dilakukan
dengan mengukur besar data tiap baris dan jumlah baris pada
setiap relasi.
Langkah 5: Merancang user view
Menurut Connolly dan Begg (2010, p542), merancang user view
yang telah diidentifikasi selama tahap pengumpulan kebutuhan dan
analisa pada Database System Development Lifecycle.
Langkah 6: Merancang mekanisme keamanan
Menurut Connolly dan Begg (2010, p542), merancang
mekanisme keamanan untuk sistem basis data yang telah ditentukan
oleh pengguna selama tahap persyaratan dan pengumpulan kebutuhan
pada Database System Development Lifecycle.
2.1.6 Entity Relationship Diagram (ERD)
Menurut Whitten dan Bentley (2007, p271), Entity Relationship Diagram
(ERD) adalah model data yang menggunakan beberapa notasi untuk
menggambarkan hubungan antara satu entity dengan entity yang lainnya.
2.2 Teori yang Terkait Tema Penelitian
2.2.1 Website
Menurut Connolly dan Begg (2010, p1028) Website adalah sebuah sistem
yang menyediakan sarana informasi browsing di Internet dengan cara non-
sekuensial menggunakan hyperlink. Website membentuk satu rangkaian
bangunan yang saling terkait dimana masing-masing dihubungkan dengan
jaringan-jaringan halaman (hyperlink)
2.2.2 Data Flow Diagram (DFD)
Menurut Whitten dan Bentley (2007, p317-319), data flow diagram
adalah sebuah tool yang digunakan untuk menggambarkan aliran data yang
31
melalui sebuah sistem dan pengerjaan pemrosesan yang dikerjakan sistem.
DFD memiliki tiga macam simbol dan satu koneksi yang digunakan, yaitu:
a. Persegi panjang yang bertepi bulat merepresentasikan proses atau
pekerjaan yang harus diselesaikan.
b. Bujur sangkar merepresentasikan external agents. External agents
adalah orang luar, unit organisasi, sistem, atau organisasi yang
berinteraksi dengan sistem, disebut juga dengan external entity.
c. Kotak terbuka merepresentasikan data stores, biasa disebut juga files
atau basis data.
d. Panah merepresentasikan aliran data, input, dan output, kepada atau
dari proses.
Gambar 2.3 - Simple Data Flow Diagram (Sumber: Whitten, 2007, p318)
32
Menurut Whitten dan Bentley (2007, p339), context data flow diagram
adalah sebuah model proses yang digunakan untuk mendokumentasikan
lingkup dari sistem, biasa disebut juga environmental model.
Gambar 2.4 – Context Data Flow Diagram (Sumber: Whitten, 2007, p340)
2.2.3 Flowchart
Menurut Mulyadi (2001, p66), flowchart biasa disebut dengan Diagram
Alir Dokumen (DAD), adalah bagan yang menggambarkan aliran dokumen
dalam suatu sistem informasi. Simbol-simbol standart yang dapat digunakan
untuk menggambarkan suatu flowchart digambarkan sebagai berikut:
33
Tabel 2.1 – Tabel Sebagian Simbol Flowchart
Nama Simbol Keterangan
Terminal
Menandakan awal dan
akhir suatu flowchart
Proses
Merepresentasikan suatu
proses dalam suatu
prosedur
Dokumen
Dokumen input/output
yang dihasilkan dari suatu
proses
Dokumen
beserta
rangkapnya
Menggambarkan dokumen
asli beserta rangkapnya,
nomor rangkap dokumen
dicantumkan disebelah
kanan
Keputusan
Keputusan yang dibuat
dari hasil dokumen yang
ada
Arsip
Tempat penyimpanan /
arsip
Konektor
Menggambarkan alur
dalam suatu prosedur
34
2.2.3 Use Case Diagram
Menurut Whitten dan Bentley (2007, p246), use case diagram adalah
diagram yang menggambarkan secara grafis mengenai interaksi antara sistem
eksternal dan pengguna (actor). Dengan kata lain, use case diagram
menggambarkan pengguna dari sistem, relationships, dan sistem yang akan
dijalankan. Aktor adalah orang yang dapat berinteraksi dengan sistem untuk
mengubah informasi. Relationships digambarkan sebagai garis yang
menghubungkan antara aktor dan sistem dalam use case diagram.
2.2.4 Use Case Narrative
Menurut Whitten dan Bentley (2007, p246), use case narrative adalah
sebuah deskripsi tekstual dari event bisnis dan bagaimana pengguna akan
berinteraksi dengan sistem untuk menyelesaikan tugas.
Gambar 2.5 – Use Case Narrative (Sumber: Whitten dan Bentley, 2007, p257)
Menurut Whitten dan Bentley (2007, p257-258), terdapat 12 hal yang
terdapat pada sebuah use case narrative.
a. Author adalah nama individu yang berkontribusi terhadap penulisan
use-case dan yang memberikan titik kontak bagi siapa saja yang
membutuhkan informasi tambahan tentang use-case.
b. Date adalah tanggal terakhir use-case diubah.
c. Version adalah versi saat ini dari use-case (misalnya 1,0).
35
d. Use-case name adalah nama use-case harus mewakili tujuan bahwa
use-case sedang mencoba untuk menyelesaikan tugas. Nama tersebut
harus dimulai dengan kata kerja (misalnya, Enter New Member
Order).
e. Use-case type – Dalam melaksanakan pemodelan use-case, kebutuhan
bisnis memerlukan use-case, yang fokus pada visi dan tujuan dari
berbagai stakeholder. Tipe use-case adalah orientasi bisnis dan
mencerminkan pandangan tingkat tinggi dari perilaku yang diinginkan
dari sistem. Hal ini bebas dari rincian teknis dan dapat termasuk
aktifitas manual serta kegiatan yang akan otomatis. Use-case
persyaratan bisnis memberikan pemahaman umum dari domain
masalah dan ruang lingkup tetapi tidak termasuk detail yang
diperlukan untuk berkomunikasi dengan pengembang sistem apa yang
harus dilakukan.
f. Use-case ID adalah sebuah pengidentifikasi yang secara unik
mengidentifikasi use-case.
g. Priority menggambarkan pentingnya use-case dalam tingkatan high,
medium, atau low.
h. Source mendefinisikan entitas yang memicu penciptaan use-case. Ini
bisa menjadi persyaratan, dokumen tertentu, atau stakeholder.
i. Primary business actor adalah stakeholder yang berkepentingan
dengan pelaksanaan use-case dengan menerima sesuatu nilai yang
dapat diukur atau diamati.
j. Other participating actors adalah aktor lain yang berpartisipasi dalam
kasus gunakan untuk mencapai tujuannya termasuk actor pemulai
aktor, actor yang memfasilitasi, aktor penyaji/penerima, dan aktor
sekunder. Selalu menyertakan cara bagaimana aktor berpartisipasi.
k. Interested stakeholder(s) adalah seorang stakeholder yang memiliki
saham dalam pengembangan dan pengoperasian sistem software.
Sebuah pemangku kepentingan yang tertarik adalah orang (selain
seorang aktor) yang memiliki kepentingan dalam tujuan use-case.
l. Description adalah deskripsi ringkasan singkat yang terdiri dari
beberapa kalimat yang menguraikan tujuan use-case dan kegiatannya
36
2.2.4 State Transition Diagram (STD)
Menurut O’Brien dan Marakas (2006, p135), State Transition Diagram
menggambarkan bermacam-macam keadaan sebuah komponen sistem yang
terdapat dalam relasi pada kejadian-kejadian atau kondisi-kondisi yang
menyebabkan sebuah perubahan dari sebuah keadaan ke keadaan lainnya.
State Transition Diagram (STD) merupakan suatu tools permodelan yang
menggambarkan sifat ketergantungan pada waktu dari suatu sistem. Adapun
simbol yang digunakan adalah sebagai berikut:
Gambar 2.6 – State/Keadaan (Sumber: O’Brien dan Marakas, 2006, p136)
Ada dua jenis state yaitu state awal (initial state) dan state akhir (final
state). Initial state hanya diperbolehkan satu saja sedangkan final state dapat
lebih dari satu. Dikatakan final state jika tidak ada perubahan keadaan dari
keadaan tersebut ke keadaan lainnya. Akan tetapi, jika masih ada dan final
state-nya satu, maka akan terjadi looping terus menerus tanpa pernah berhenti.
Notasi lainnya ialah trantition state. Setiap panah diberikan label yang
menunjukkan kejadian (event) yang akan menyebabkan perubahan dari satu
state ke state lainnya. Label tersebut adalah kondisi dan aksi. Kondisi adalah
sebuah sinyal yang menyebabkan perubahan terhadap state dari state satu ke
state berikutnya. Aksi adalah sesuatu yang dilakukan sistem bila terjadi
perubahan state atau merupakan reaksi terhadap kondisi.
Gambar 2.7 – Perubahan State/Keadaan (Sumber: O’Brien dan Marakas, 2006, p136)
2.2.5 Eight Golden Rules
Menurut Scheneiderman dan Plainsant (2010, p88), terdapat delapan
aturan emas dalam merancang sebuah user interface untuk pengguna, yaitu:
a. Berusaha keras untuk konsisten
Aturan ini adalah yang paling sering dilanggar, tapi kelak dapat
menjadi masalah yang rumit karena adanya banyak bentuk
konsistensi. Konsisten urtan tindakan harus diperlukan dalam situasi
yang sama; istilah yang sama harus digunakan dalam petunjuk, menu,
37
dan helpscreen, dan konsisten warna, tata letak, kapitalisasi, font,
tampilan, dan lain-lain.
b. Melayani penggunaan universal
Memungkinkan tersedianya shortcut / fungsi yang pasti akan
digunakan semua pengguna apabila pengguna sudah memasuki tahap
ahli pada suatu aplikasi / terbiasa dengan aplikasi sehingga dapat
mengurangi jumlah interaksi dan meningkatkan kecepatan interaksi.
c. Memberikan umpan balik (feedback) yang informative
Untuk setiap aksi yang dilakukan oleh pengguna, beberapa
diantaranya harus mempunyai sistem feedback. Untuk aksi yang
sering dan sederhana, maka respon yang diberikan juga sederhana,
tetapi jika aksi yang jarang dan besar maka respon juga harus lebih
banyak dan rinci.
d. Merancang dialog untuk menghasilkan keadaan akhir
Urutan aksi harus dibagi menjadi awal, tengah, dan akhir. Dengan
adanya umpan balik, pengguna dapat merasa lebih aman dalam
melakukan sebuah tindakan dengan memberikan gambaran hasil akhir
dari suatu pilihan, serta pembelian banyak pilihan kepada pengguna
sehingga bisa ikut serta dalam mempengaruhi hasil akhir. Contoh,
sebuah situs web-commerce memindahkan pengguna dari pemilihan
produk ke kasir, berakhir dengan sebuah halaman konfirmasi yang
jelas untuk melengkapi transaksi.
e. Menghindari kesalahan
Suatu sistem harus dirancang agar kesalahan yang dibuat pengguna
dapat ditekan seminimal mungkin, dan pesan kesalahan yang
dimunculkan harus dapat dimengerti oleh pengguna awam. Jika
pengguna membuat kesalahan, antarmuka harus mendeteksi kesalahan
dan menawarkan instruksi sederhana, membangun, dan spesifik untuk
mengawasi kesalahan tersebut. Contoh, pengguna seharusnya tidak
perlu mengetik ulang bentuk, seperti nama, alamat, tanggal lahir, jenis
kelamin jika memasukkan kode pos yang tidak valid, melainkan harus
dibimbing untuk memperbaiki hanya bagian yang salah, yaitu kode
pos.
38
f. Mengijinkan pembalikan aksi (undo) dengan mudah
Aksi harus dapat dibalikkan menjadi keadaan sebelumnya sehingga
membuat pengguna merasa aman karena ia tahu bahwa kesalahan
yang dibuat dapat diperbaiki.
g. Mendukung pengguna sebagai pusat kendali dari sistem
Membuat pengguna merasa memegang kendali atas sistem tersebut,
bukan sebagai responden. Kesulitan pengguna dalam menavigasi site,
kesulitan dalam mendapatkan data yang diinginkan, antarmuka yang
mengejutkan, ketidakmampuan untuk menghasilkan tindakan yang
diinginkan akan menimbulkan rasa ketidakpuasan.
h. Mengurangi beban ingatan jangka pendek
Manusia hanya dapat mengingat tujuh info ditambah atau dikurang
dua info pada suatu waktu. Batasan ini berarti suatu sistem harus
dibuat sesederhana mungkin sehingga tidak membuat seorang
pengguna bingung karena terlalu banyak info. Dan apabila diperlukan,
akses online ke bentuk perintah sintaks, singkatan, kode, dan
informasi lainnya harus disediakan fasilitasnya.
2.2.6 PHP
Menurut Luke Welling dan Laura Thomson (2005, p2), PHP adalah
bahasa pemrograman server-side yang dirancang khusus untuk Web. Dalam
page HTML, pemrograman PHP dapat dicantumkan dan akan dijalankan setiap
kali page diakses. Pemrograman PHP ditafsirkan pada web server dan
menghasilkan HTML atau output lainnya yang pengunjung akan lihat.
2.2.7 MySQL
Menurut Luke Welling dan Laura Thomson (2005, p3), MySQL adalah
Relational Database Management System (RDMS) yang sangat cepat, dan
kuat,. Sebuah database memungkinkan untuk secara efisien menyimpan,
mencari, mengurutkan, dan mengambil data. MySQL server mengontrol akses
ke data untuk memastikan bahwa beberapa pengguna dapat bekerja dengan itu
bersamaan, untuk menyediakan akses cepat, dan untuk memastikan bahwa
hanya pengguna yang berwenang dapat memperoleh akses. Oleh karena itu,
MySQL adalah server yang multiuser, multithreaded. MySQL Menggunakan
39
Structured Query Language (SQL), bahasa standar dalam query basis data di
seluruh dunia.
2.2.8 Kelebihan PHP dan MySQL
Menurut Luke Welling dan Laura Thomson (2005, p4-6), PHP
memiliki beberapa kelebihan, yaitu:
a. High performance
PHP sangat efisien. Dengan menggunakan server tunggal yang murah
tunggal, PHP dapat melayani jutaan kunjungan tiap harinya. Jika
menggunakan komoditas anggota besar, maka kapasitasnya menjadi
tidak terbatas secara efektif.
b. Interfaces to many different database systems
PHP memiliki koneksi untuk banyak sistem database. Selain MySQL,
PHP dapat langsung terhubung ke PostgreSQL, mSQL, Oracle, dbm,
FilePro, Hyperwave, Informix, Interbase, dan Sybase databases. PHP
5 juga memiliki built-in SQL interface untuk flat file, yang disebut
SQLite.
c. Built-in libraries for many common web tasks
Karena PHP didesign untuk pembuatan Web, PHP memiliki banyak
built-in functions untuk menjalankan perintah – perintah yang
berhubungan dengan web. PHP dapat menghasilkan gambar GIF,
menghubungkan ke layanan web dan layanan jaringan lainnya,
mengurai XML, mengirim email, bekerja dengan cookies, dan
menghasilkan dokumen PDF, semua hanya dengan beberapa baris
kode.
d. Low cost
PHP tidak dipungut biaya sedikitpun atau gratis. PHP versi terbaru
dapat diunduh kapanpun di http://www.php.net.
e. East of learning and use
Syntax dari PHP didasarkan pada bahasa pemrograman lain, terutama
dari bahasa C dan Perl. Jika sudah menguasai kedua bahasa tersebut,
atau bahasa yang menyerupai bahasa C seperti C ++ atau Java, maka
PHP akan sangat mudah dipelajari.
40
f. Strong object-oriented support
PHP versi 5 dirancang dengan baik dengan fitur berorientasi objek.
Seperti bahasa pemrograman C++ dan Java, PHP juga memiliki fitur
yang sama, seperti warisan (inheritance), atribut private dan protected
dan method, interface, contructors, dan destructors. Beberapa
fungsional ini tersedia dalam PHP versi 3 dan 4, tetapi dukungan
berorientasi objek dalam versi 5 jauh lebih lengkap.
g. Portability
PHP tersedia untuk banyak sistem operasi yang berbeda. Menulis
kode PHP dapat dilakukan pada sistem operasi gratis yang semacam
Unix, seperti Linux dan FreeBSD, versi Unix komersial seperti Solaris
dan IRIX, ataupun versi yang berbeda dari Microsoft Windows.
h. Availability of source code
Pengguna memiliki akses ke source code dari PHP. Dengan PHP,
tidak seperti produk komersial, maupun closed-source product, jika
pengguna ingin mengubah sesuatu atau menambah bahasa, pengguna
bebas untuk melakukannya.
i. Availability of support
Zend technologies, perusahaan di balik mesin yang menguatkan PHP,
mendanai pengembangan PHP dengan menawarkan dukungan dan
perangkat lunak terkait secara komersial.
Menurut Luke Welling dan Laura Thomson (2005, p6-7), MySQL
memiliki beberapa kelebihan, yaitu:
a. High performance
MySQL sudah tidak dapat disangkal kecepatannya. Banyak
benchmark yang menunjukkan MySQL memiliki kecepatan yang
lebih dibanding kompetitornya.
b. Low cost
MySQL tersedia tanpa dipungut biaya di bawah lisensi open source
atau dengan biaya rendah di bawah lisensi komersial. Pengguna
memerlukan lisensi jika pengguna ingin mendistribusikan MySQL
sebagai bagian dari aplikasi dan tidak ingin melisensi aplikasi tersebut
di bawah lisensi Open Source. Jika pengguna tidak berniat untuk
41
mendistribusikan aplikasi tersebut atau bekerja pada Free Software,
pengguna tidak perlu membeli lisensi.
c. Ease of configuration and learning
Kebanyakan database modern menggunakan SQL. Jika pengguna
pernah menggunakan RDMDS lain, pengguna seharusnya tidak
memiliki kesulitan beradaptasi dengan yang satu ini. MySQL juga
lebih mudah dalam pengaturan dibandingkan produk sejenis lainnya.
d. Portability
MySQL dapat digunakan beragam sistem operasi Unix dan begitu
pula pada Microsoft Windows.
e. Availability of source code
Seperti PHP, pengguna dapat memperoleh dan memodifikasi source
code MySQL. Hal ini tidak penting bagi sebagian besar pengguna,
tetapi MySQL dapat menjamin kelangsungan masa depan dan
memberikan pengguna pilihan dalam keadaan darurat.
f. Availability of support
Tidak semua produk open source memiliki perusahaan induk yang
menawarkan dukungan, pelatihan, konsultasi, dan sertifikasi, tetapi
pengguna bisa mendapatkan semua manfaat ini dari MySQL AB.
2.2.9 Cascading Style Sheet (CSS)
Menurut Madcoms (2009, p89), CSS atau Cascading Style Sheet
digunakan untuk membantu pengguna mendesain isi halaman web. Bentuk
penulisan CSS terdiri dari 3 bagianm yaitu selector, property, dan nilai.
Penulisan property dan nilai dipisahkan oleh tanda titik dua (:), jika nilai terdiri
lebih dari satu kata, penulisan nilai diapit dengan tanda petik dua. Penggunaan
CSS pada halaman web terdapat 3 pilihan, yaitu External Style Sheet (file CSS
disimpan sendiri di luar dari code HTML), Internal Style Sheet (menuliskan
code CSS pada tag Head dari code HTML), dan Inline Style Sheet (menuliskan
code CSS bersama dengan tag HTML atau XHTML)
2.2.10 Persediaan
Menurut Indrawati dan Hizkia (2012, p60-61), persediaan adalah aktiva
miliki suatu perusahaan yang digunakan untuk dijual dalam proses bisnis serta
merupakan aktiva lancar terbesar dari sebuah perusahaan manufaktur maupun
42
dagang. Persediaan dapat berupa barang ataupun jasa. Dalam perusahaan
dagang, persediaan hanya terdiri dari satu macam yaitu barang dagang dimana
merupakan persediaan barang yang digunakan untuk dijual dalam operasi
bisnis perusahaan. Untuk perusahaan perdagangan besar seperti retail yang
perputaran persediaan barangnya cukup tinggi dan beragam, perusahaan dapat
menyimpan persediaan barang dagang sebelum dijual di dalam sebuah gudang
dengan tujuan untuk mengantisipasi agar tidak terjadi kekurangan persediaan.
Sistem persediaan bertujuan untuk mencatat perubahan tiap jenis persediaan
yang disimpan di dalam gudang.
a. Supplier
Supplier adalah sebuah kelompok yang memasok barang atau jasa.
Supplier dapat dibedakan dari contractor atau subcontractor, yang
pada umumnya menambahkan input khusus untuk penyerahan.
(Sumber: http://www.businessdictionary.com/definition/supplier.html)
2.2.11 Penjualan
Menurut Indrajani (2011, p68), penjualan adalah sebuah proses
transaksi jual beli yang dilakukan oleh suatu pihak kepada pihak lainnya.
Kegiatan penjualan terdiri dari penjualan dari penjualan barang, dan jasa yang
dapat dilakukan secara kredit maupun tunai. Penjualan kredit merupakan
penjualan yang dilakukan dengan cara mengirimkan barang atau jasa sesuai
pesanan pembeli dan pembayarannya dapat dilakukan secara berkala (dapat
dicicil) yang kemudian akan dicatat oleh perusahaan sebagai piutang penjualan.
Sedangkan penjualan tunai merupakan penjualan yang mengharuskan pembeli
untuk membayar terlebih dahulu sebelum barang atau jasa tersebut diserahkan
kepada pembeli.
2.2.12 Penyewaan
Penyewaan berasal dari kata ‘sewa’. Menurut Sadano Sukirno (2003,
p376), sewa adalah bagian pembayaran ke atas sesuatu faktor produksi yang
melebihi dari pendapatan yang diterimanya dari pilihan pekerjaan lain yang
terbaik yang mungkin dilakukannya.
43 2.3 Hasil Penelitian atau Produk sebelumnya
Berikut ini terdapat 3 hasil penelitian atau produk sebelumnya yang membantu
dalam penyusunan sistem:
• Menurut jurnal dari Indrajani, (Juni 2010), Jurnal ComTech, Analisis dan
Perancangan Sistem Basis Data Pada Rumah Sakit, dengan adanya
sistem basis data, data yang disimpan menjadi terintegrasi, memenuhi
kebutuhan informasi rumah sakit, dan meningkatkan pelayanan
kesehatan terhadap pelanggan. Selain itu, dapat meningkatkan efektifitas
dalam mendapatkan kepuasan dan loyalitas pelanggan di mana pelanggan
tersebut dapat mempromosikan pengalamannya terhadap pelanggan baru,
dan menjadi rumah sakit pilihan melalui peningkatan pelayanan
kesehatan terhadap masyarakat.
• Menurut jurnal dari Ayuliana dkk, (Juni 2012), Jurnal ComTech,
Pengembangan Basis Data Penjualan, Persediaan dan Logistic Tracking:
Studi Kasus PT ABHIMATA CITRA ABADI, dengan adanya sistem
basis data dan program aplikasi dapat meminimalisasi terjadinya
ketidaksinkronan dalam penginputan data antara jumlah data barang di
warehouse dengan laporan kepada Divisi Finance. Selain itu, dengan
adanya sistem basis data dengan baik dapat membantu dan memberi
kemudahan karyawan ketika terjadi perpindahan, perubahan, dan
pencarian data sehingga dapat meminimalisir masalah hilangnya barang
pada unit bisnis distribusi dan retail.
• Menurut jurnal dari Umoh dkk, (2012), Research Journal in Engineering
and Applied Sciences Vol.1 (No.3) 203-208, A Web-Based Database
System: An Industrial Application, dengan adanya sistem basis data
berbasis web dapat menekan penggunaan kertas yang banyak. Tiga
tujuan utama dari pembuatan sistem tersebut yaitu menekan biaya
produksi, pendapatan penjualan yang lebih besar, dan kuantitas daur
ulang serta atribut yang dimiliki.
44