BAB 2 TINJAUAN PUSTAKA
2.1 Teori Yang Berkaitan dengan Database 2.1.1 Pengertian Sistem Basis Data Menurut Silberschatz, Korth dan Sudarshan (2011:6), sistem basis data adalah kumpulan data yang saling berhubungan serta merupakan seperangkat program yang memungkinkan pengguna untuk mengakses dan memodifikasi data-data tersebut. Sedangkan, seperangkat program tersebut dapat berinteraksi dengan basis data bersama dengan Database Management System (DBMS) dan basis data itu sendiri. Jadi, dapat disimpulkan bahwa sistem basis data merupakan sistem yang terdiri dari kumpulan file atau tabel yang saling berhubungan dan sekumpulan program yang memungkinkan beberapa pemakaian 2.1.2 Database System Development Lifecycle Menurut Connolly dan Begg (2010:264), database system development lifecycle atau siklus kehidupan pembangunan basis data merupakan komponen terpenting dalam sistem basis data. Tingkat kompleksitas siklus kehidupan pembangunan basis data tergantung pada ruang lingkup perancangan aplikasi basis data yang dibuat. Jika ruang lingkup aplikasi basis data yang dirancang tidak terlalu besar, maka siklus tidak akan sekompleks yang ruang lingkup nya lebih besar. Berikut merupakan gambar tahapan pada Database System Development Lifecycle:
7
8
Gambar 2.1 Tahapan Database System Development Lifecycle Berikut ini adalah Tabel 2.1 yang berisi rangkuman aktivitas utama yang dilakukan pada setiap tahapan DBLC:
9
Tabel 2.1 Tahapan dan Aktivitas Utama Database System Development Lifecycle Tahapan DBLC Database Planning
Aktivitas Utama Merencanakan aplikasi basis data yang dirancang dapat direalisasikan secara efektif dan efisien.
System Definition
Memberikan definisi sistem, ruang lingkup dan batasan dari sistem aplikasi basis data.
Requirements Collection
Mengumpulkan dan menganalisis kebutuhan sistem
and Analysis
basis data yang dirancang.
Database Design
Melakukan perancangan aplikasi basis data secara konseptual, logikal, dan fisikal.
DBMS Selection (optional)
Memilih DBMS yang sesuai untuk sistem basis data.
Application Design
Merancang user interface pengguna dan program aplikasi yang digunakan.
Prototyping (optional)
Membangun model sistem basis data yang telah mendekati aplikasi basis data yang seharusnya dengan tujuan melakukan visualisasi dan evaluasi sistem akhir.
Implementation
Memulai menggunakan penggunaan aplikasi yang dirancang di lapangan.
Data Conversion and
Memuat data dari sistem lama ke dalam sistem baru
Loading
dan
jika
memungkinkan
melakukan
konversi
aplikasi yang sudah berjalan untuk menggunakan basis data baru. Testing
Sistem basis data diperiksa untuk mencari error dan melakukan validasi dengan kebutuhan pengguna.
Operational Maintenance
Sistem basis data mulai di implementasi secara keseluruhan. Sistem diamati dan dipelihara, serta jika dibutuhkan kebutuhan baru dapat ditambah ke dalam basis datamelalui tahapan sebelumnya.
10
Berikut ini adalah penjelasan dari masing-masing tahapan DBLC yang terdapat pada Gambar 2.1: a. Database Planning Database
Planning
adalah
aktifitas
perencanaan
pada
perancangan aplikasi basis data yang efisien dan efektif. Menurut Connolly dan Begg (2010:263), Database Planning harus terintegrasi dengan strategi sistem informasi perusahaan secara keseluruhan. Untuk dapat menyusun sebuah perencanaan basis data, terdiri dari tiga hal utama yang berpengaruh dalam membuat sebuah strategi sistem informasi, yaitu: •
Identifikasi rencana perusahaan dan kebutuhan sistem informasi yang akan datang.
•
Melakukan evaluasi kepada sistem informasi yang digunakan saat ini untuk mengetahui kekuatan dan kelemahan yang ada.
•
Melihat peluang dari segi IT yang mungkin menghasilkan keuntungan.
b. Sysem Definition Menurut Connolly dan Begg (2010:266), System Definiton memiliki ruang lingkup dan batasan sistem basis data dan user view utama. User view mendefinisikan kebutuhan sistem basis data dari sudut pandang sebuah job role atau area aplikasi yang digunakan pada perusahaan. c. Requirements Collection and Analysis Requirements mengumpulkan
dan
Collection
and
menganalisa
Analysis
informasi
adalah
proses
mengenai
bagian
organisasi yang akan didukung oleh sistem basis data, dan menggunakan informasi tersebut untuk mengidentifikasi kebutuhan sistem baru. Menurut Connolly dan Begg (2010:267), informasi yang harus dikumpulkan untuk merancang sistem basis data yang baru harus juga disertakan: •
Sebuah deskripsi dari data yang digunakan
•
Perincian dari setiap proses data yang berjalan
•
Kebutuhan tambahan untuk sistem basis data yang baru
11
d. Database Design Database design adalah proses membuat rancangan yang akan mendukung mission statement dan mission objective perusahaan untuk sitem basis data yang dibutuhkan. Menurut Connolly dan Begg (2010:274), desain basis data merupakan proses berulang-ulang yang memiliki titik awal dan proses penyempurnaan hampir tidak terbatas. Hal ini terjadi dikarenakan desain basis data merupakan proses pembelajaran. e. DBMS Selection DBMS
Selection
adalah
proses
pemilihan
Database
Management System yang tepat untuk mendukung sistem basis data pada perusahaan. Menurut Connolly dan Begg (2010:276), pengguna harus mengenal dan memahami alasan penggunaan DBMS tersebut dengan menjalankan langkah-langkah awal pemilihan DBMS. Langkah awal pemilihan Database Management System adalah: •
Mendefinisikan kondisi dari referensi pembelajaran
•
Menyempitkan pilihan pada dua atau tiga produk
•
Evaluasi produk tersebut
•
Merekomendasika pilihan dan membuat laporan
f. Application Design Application design adalah proses merancang user interface dan program aplikasi basis data. Menurut Connolly dan Begg (2010:279), perancangan aplikasi harus dirancang sesuai dengan spesifikasi pengguna yang ada pada sistem basis data yang dibuat agar dapat digunakan oleh pengguna lebih mudah. g. Prototyping Prototyping adalah proses membangun sebuah working model sistem basis data. Biasanya, working model ini sudah mulai mendekati dengan program yang seharusnya. Menurut Connolly dan Begg (2010:283), ada dua strategi prototyping yang digunakan saat ini, yaitu:
12
•
Prototyping pada kebutuhan (Requirements Prototyping) Protoyping ini dijalankan untuk memperlihatkan kebutuhan dari sistem basis data yang sesuai dengan usulan dan dihentikan jika sudah sesuai dengan kebutuhan.
•
Prototyping yang evolusioner (Evolutionary Prototyping) Protoyping ini dijalankan untuk memperlihatkan kebutuhan dari sistem basis data yang sesuai dengan usulan dan tetap diteruskan untuk menjadi sistem basis data yang digunakan.
h. Implementation Implementation adalah realisasi fisikal dari basis data dan rancangan
aplikasi.
Menurut
Connolly
dan
Begg
(2010:284),
implementasi basis data dapat dilakukan dengan menggunakan Data Definition Language (DDL) dari DBMS yang telah dipilih atau dengan Graphical User Interface (GUI) dengan fungsi yang sama dan juga menyembunyikan perintah DDL tingkat rendah. i. Data Conversion and Loading Data Conversion and Loading adalah proses transfer data yang sudah ada ke dalam basis data dan convert aplikasi yang sudah ada agar berjalan di basis data yang baru. Menurut Connolly dan Begg (2010:284), proses ini membutuhkan spesifikasi dari database sumber menuju ke database tujuan, dan melakukan konversi data ke format yang pada file basis data yang baru secara otomatis. j. Testing Testing adalah proses menjalankan sistem basis data dengan tujuan menemukan error. Menurut Connolly dan Begg (2010:285), Testing haus mencakup kegunaan dari sistem basis data. Evaluasi yang ideal pada saat melakukan testing adalah: • Learnability Waktu yang dihabiskan oleh pengguna untuk dapat menyesuaikan diri dalam menggunakan aplikasi ini • Performance Performa aplikasi yang memiliki sistem respon yang sesuai dengan pekerjaan pengguna
13
• Robustness Toleransi dari error pada sistem • Recoverability Kualitas sistem saat terjadi error pada pengguna saat melakukan proses recovery • Adaptability Kedekatan sistem pada model perkejaan yang sesungguhnya. k. Operational Maintenance Operational
maintenance
adalah
proses
memonitor
dan
memelihara sistem basis data, serta instalasi. Menurut Connolly dan Begg (2010:285), tahap operational maintenance memiliki dua tahap yaitu: • Memantau performa dari sistem. Jika tingkat performa berada bawah dari seharusnya, maka penyusunan ulang sistem
di
basis data
perlu dilakukan. • Memantau dan melakukan upgrade pada sistem basis data jika diperlukan. 2.1.3 Entity Relationship Diagram (ERD) Menurut Silberschatz, Korth dan Sudarshan (2011:274), Entity Relationship Diagram digunakan untuk menggambarkan struktur logikal basis data dengan grafis secara keseluruhan. Entity Relationship Diagram dibuat dengan sederhana dan jelas untuk mendefinisikan siste, logikal pada sistem basis data. 2.1.3.1
Entitas Entitas adalah suatu objek yang dapat dibedakan atau dapat diidentifikasikan secara unik dengan objek lainnya, dimana
semua
informasi
yang
berkaitan
dikumpulkan.
Gambar 2.2 Simbol Entitas
dengannya
14
2.1.3.2
Relationship Relationship adalah hubungan yang terjadi antara satu entitas dengan entitas lainnya. Relationship tidak mempunyai keberadaan fisik atau konseptual kecuali yang sejenis dinamakan dengan Relationship Diagram.
Gambar 2.3 Simbol Relationship
2.1.3.3
Atribut Atribut adalah karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang entity atau relationship tersebut.
Gambar 2.4 Simbol Atribut
2.1.3.4
Structural Constraints Batasan utama pada relationship disebut multiplicity, yaitu jumlah (atau range) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain
yang
berhubungan
melalui
suatu
relationship.
Relationship yang paling umum adalah binary relationship. 2.1.4
Normalisasi Menurut Connolly dan Begg (2010: 365) Normalisasi adalah sebuah teknik perancangan basis data untuk menghasilkan sejumlah relasi yang disebut ketergantungan fungsional (functional dependencies) antar atribut. Setiap atribut menjelaskan sifat-sifat (properties) data atau hubungan antara data yang penting. Tujuan utama dalam pengembangan model data logical pada sistem database relasional adalah menciptakan representasi akurat suatu data, hubungan antar data dan batasan-
15
batasannya atau constraint. Untuk mencapai tujuan ini, maka harus ditetapkan sekumpulan relasi. Empat bentuk normal yang biasa digunakan yaitu, first normal form (1NF), second normal form (2NF) dan third normal form (3NF) dan Boyce–Codd normal form (BCNF). Terdapat bentuk fourth normal form (4NF) dan fifth normal form (5NF) untuk situasi yangjarang terjadi. (Connolly dan Begg, 2010: 366) Berikut adalah masalah potensial yang dapat terjadi sehingga memerlukan normalisasi: 1. Data Redundacy and Update Anomalies Menurut Connolly dan Begg (2010:368), tujuan utama dari desain basis data relasional adalah untuk mengelompokkan atributatribut ke dalam relasi-relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasar. 2. Functional dependency Menurut
Connolly
dan
Begg
(2010:370),
Functional
dependency menjelaskan hubungan antar atribut-atribut dalam relasi. Functional dependency merupakan sifat dari arti semantik suatu atribut dalam sebuah relasi. 2.1.5 Database Design Menurut Connolly dan Begg (2010:416), Database Design merupakan sebuah proses menciptakan sebuah rancangan yang mendukung visi dan misi perusahaan untuk sebuah sistem basis data. Perancangan basis data dibagi menjadi tiga tahap utama, yaitu conceptual database design, logical database design dan physical database design. 2.1.5.1
Conceptual Database Design Menurut Connolly dan Begg (2010:417), tahap awal perancangan basis data ini merupakan proses membangun sebuah model data-data yang digunakan dalam perusahaan, yang tidak bergantung pada segala pertimbangan fisikal.
16
2.1.5.2
Logical Database Design Menurut Connolly dan Begg (2010:417), Logical Database Design, tahap kedua dalam perancangan basis data, merupakan proses membangun sebuah model data yang digunakan oleh perusahaan berdasarkan sebuah model data spesifik tapi tidak bergantung pada DBMS tertentu dan pertimbangan fisik lainnya.
2.1.5.3
Physical Database Design Menurut Connolly dan Begg (2010, 417), Physical Database Design merupakan tahap ketiga dan terakhir dalam proses perancangan basis data di mana pada tahap ini perancang
menentukan
bagaiman
database
akan
diimplementasikan. Tahap ini berupa proses memproduksi sebuah deskripsi implementasi database pada penyimpanan sekunder, yang menjelaskan relasi dasar, organisasi file dan indeks
yang
digunakan
untuk
mencapai
keefisiensi
pengaksesan data dan batasan integritas, serta pengukuran keamanan lainnya yang berhubungan. 2.1.6 Metode yang digunakan 2.1.6.1
Data Flow Diagram (DFD) Menurut O’brien dan Marakas (2010:561), DFD adalah perangkat grafis yang menggambarkan urutan dari prosesproses dan fungsi-fungsi yang terdapat di dalam batasanbatasan pada sistem yang telah dispesifikasikan dan aliran data yang terdapat di dalam sistem. Dalam hierarki DFD terdapat 3 level, yaitu: a.
Diagram Level Konteks
Diagram level konteks ditujukan untuk mengidentifikasikan batasan pada sistem, yang menyangkut dengan relasi terhadap semua sumber atau entitas yang berinteraksi dengan sistem
17
tersebut. Konteks diagram hanya mengandung satu proses, dan dinamakan oleh nama sistem tersebut. b.
Diagram Level-0 DFD
Diagram level-0 DFD adalah proses tunggal yang terdapat dalam diagram level konteks dan direpresentasikan ulang secara lebih detail. c.
Diagram Level-1 sampai Level-n DFD
Setelah diagram level-0 selesai dan dinyatakan keakuratannya sebagai representasi dari sistem, proses penguraian berlanjut pada tahap level-1 sampai level-n. Jelasnya, level-0 diuraikan menjadi level-1, dan jika diperlukan, level-1 diuraikan menjadi level-2, dan seterusnya hingga detail level yang diperlukan dari seluruh proses dan sub proses telah direalisasikan. Berikut adalah notasi dari Data Flow Diagram: Tabel 2.2 Notasi pada Data Flow Diagram Simbol
Keterangan Process
Data Flow
External Agent
Data Store
18
2.1.6.2
Flowchart Menurut O’Brien dan Marakas (2010:563), flowchart adalah sebuah representasi grafis di mana setiap simbol digunakan untuk mewakili operasi, data, aliran, logika, peralatan,
dan
sebagainya.
Sebuah
flowchart
yang
menggambarkan struktur dan urutan pekerjaan dari sebuah program,
sedangkan
sistem
flowchart
menggambarkan
komponen dan arus sistem informasi yang akan dirancang. Tabel 2.3 merepresentasikan notasi pada flowchart.
Tabel 2.3 Notasi pada Flowchart Simbol
Keterangan Document Merepresentasikan dokumen atau laporan yang dapat berupa tertulis tangan atau hasil print komputer. On-page Connector Menghubungkan aliran proses dalam satu halaman. Off-page Connector Menghubungkan aliran proses dengan halaman lain. Manual Operation Merepresentasikan proses operasi yang dilakukan secara manual. Decision Merepresentasikan tahapan pembuatan keputusan dengan adanya alternatif aliran proses data. Document or Processing Flow Merepresentasikan arah aliran pemrosesan atau dokumen. Terminal Merepresentasikan awal, akhir, atau interupsi.
19
2.1.6.3
Internet Menurut Connolly dan Begg (2010: 1062), internet adalah kumpulan jaringan komputer yang saling terhubung di seluruh dunia. Menurut Rainer, Prince dan Cegielski(2014), internet adalah sebuah jaringan berbasis WAN secara global yang menghubungkan
setidaknya
satu
juta
komputer
yang
terorganisional dengan lebih dari 200 negara di setiap benua. 2.2 Teori yang Terkait Tema Penilitian 2.2.1 Teori-teori Pemrograman Web 2.2.1.1
PHP : Hypertext Preprocessor Menurut McLaughlin (2013:2), PHP adalah bahasa programming yang bersifat rekursif. PHP digunakan untuk menjalankan
pekerjaan
berbasis
web
yang
sederhana.
Keunggulan dari bahasa server-side scripting PHP secara umum adalah sebagai berikut : •
PHP tidak berbayar
•
PHP bersifat open source
•
PHP bersifat cross-platform
•
PHP banyak digunakan
•
PHP gratis
•
PHP dapat di hubungkan dengan database yang cepat seperti MySQL
2.2.1.2
MySQL Menurut Nixon (2012:165), MySQL merupakan bahasa pemrograman open source yang paling banyak digunakan oleh para programmer karena cepat, gratis dan mudah dikembangkan.
20
2.2.1.3
HTML HTML merupakan singkatan dari Hypertext Markup Language dan pengertiannya adalah sekumpulan text atau file ASCII yang berisi intruksi atau perintah program untuk web browser untuk menampilkan tampilan grafis sebuah halaman website. File HTML dapat dibuat menggunakan aplikasi text editor pada semua sistem operasi, contohnya adalah Notepad di Windows atau simple text di Macintosh. HTML merupakan cross platform karena walau pembuatannya menggunakan sistem operasi tertentu, namun dibuka dan ditampilakan disemua sistem operasi.
2.2.1.4
CSS Menurut Sulistyawan, Rubianto, Saleh (2008:32), CSS adalah suatu bahasa stylesheets yang mengatur tampilan suatun dokumen. Pada umumnya CSS digunakan untuk mengatur tampilan dokumen. CSS memungkinkan kita untuk menampilkan halaman yang sama dengna format yang berbeda. Dengan CSS, tampilan website akan lebih cantik dan konsisten. Ada dua cara untuk menuliskan kode CSS. Pertama secara internal, yaitu menuliskan langsung diantara tag HTML/XHTML. Kedua secara eksternal, yaitu kode CSS disimpan dalam file yang terpisah kemudian dipanggil saat halaman web dibuka, CSS sendiri merupakan sebuah teknologi internet yang direkomendasikan oleh W3C (World Wide Web Consortium) dan diperkenalkan pada tahun 1996.
2.2.2
Teori Rekayasa Perangkat Lunak 2.2.2.1
Flowchart Flowchart
adalah
sebuah
diagram
yang
merepresentasikan pekerjaan dengan setiap simbol digunakan untuk mewakili operasi, data, aliran, logika, peralatan, dan
21
sebagainya. Sebuah flowchart yang menggambarkan struktur dan urutan pekerjaan dari sebuah program, sedangkan sistem flowchart menggambarkan komponen dan arus sistem informasi yang akan dirancang. (O’Brien dan Marakas, 2010:563) 2.2.2.2
Work Flow Menurut
Silberschatz,
Korth
dan
Sudarshan
(2011:312), Work Flow adalah kombinasi data dan pekerjaan yang berada di dalam proses yang berinteraksi dengan sistem basis data selama aliran kerja berpindah pada antar pengguna dan pengguna menggunakan pekerjaan dengan work flow. 2.2.3 Teori Penjualan Definisi penjualan menurut Mulyadi (2008:202), “Penjualan merupakan kegiatan yang dilakukan oleh penjual dalam menjual barang atau jasa dengan harapan akan memperoleh laba dari adanya transaksitransaksi tersebut dan penjualan dapat diartikan sebagai pengalihan atau pemindahan hak kepemilikan atas barang atau jasa dari pihak penjual ke pembeli”. 2.2.4 Teori Pembelian Kotler dan Keller (2009:210) mendefinisikan pembelian sebagai sebuah fenomena atau kejadian yang menyebabkan orang lain sadar bahwa ada kebutuhan atau keinginan yang harus dipenuhi dan diatasi dengan cara memperoleh barang atau jasa tersebut. Assauri (2008:223) berpendapat bahwa pembelian merupakan salah satu fungsi penting yang menentukan keberhasilan dari kegiatan operasional sebuah perusahaan. 2.2.5 Teori Penyimpanan Menurut Suryani (2006:64), penyimpanan adalah masa tunggu sejak barang selesai di produksi sampai barang berada di tangan konsumen.
22
Penyimpanan barang adalah menempatkan barang dalam kondisi tunggu untuk di order atau dipersiapkan untuk diproses selanjutnya. Penyimpanan dilakukan sesuai dengan karakteristik barang. (http://logistikindonesia.blogspot.com/2010/07/penyimpananbarang.html) 2.2.6 Teori Pembayaran Menurut Wicaksono (2008:79), pembayaran adalah penyerahan uang bagi pihak yang satu dan penyerahan barang bagi pihak lain. Dengan penyerahan uang dan barang pada kedua belah pihak, proses pembayaran di anggap berhasil dilaksanakan. 2.2.7 Teori Delapan Aturan Emas Menurut Shneiderman dan Plaisant (2010:88-89), delapan aturan emas atau disebut eight golden rules adalah prinsip utama yang di terapkan untuk merancang sistem dan perancangan desain antar muka yang interaktif. Delapan aturan emas tersebut adalah:
1. Berusaha Konsisten (Strive for consistency) Berusaha konsisten berarti harus memiliki aplikasi dalam situasi yang sama; memiliki menu, layar, warna, tata letak, hurud dan sebagainya harus identik. 2. Memiliki Kegunaan yang Universal (Cater to universal usability) Memahami kebutuhan pengguna yang beragam dengan melakukan desain yang dapat menjembatani perbedaan keahlian, rentang usia, cacat, dan keanekaragaman teknologi masing-masing. Selain itu, kegunaan yang universal dapat juga terjadi dengan menambahkan fitur untuk pemula seperti tutorial dan fitur bagi pengguna lanjutan seperti shortcut. 3. Memberikan Umpan Balik yang Informatif (Offer informative feedback) Untuk setiap tindakkan yang dilakukan oleh pengguna, harus memiliki umpan balik pada sistem. Untuk tindakkan yang sering dilakukan dan tindakkan minor, respon bisa saja menjadi sederhana, sedangkan untuk tindakkan yang jarang terjadi dan tindakkan besar, respon harus lebih besar.
23
4. Desain Dialog untuk Keadaan Akhir (Design dialogs to yield closure) Urutan tindakan harus diatur ke dalam pengelompokkan pada awal, tengah, dan akhir. 5. Penanganan Kesalahan yang Sederhana (Prevent errors) Perancangan sistem sebisa mungkin tidak membuat kesalahan serius. Jika pengguna membuat kesalahan, desain antarmuka harus mendeteksi
kesalahan
dan
menawarkan
instruksi
sederhana,
konstruktif, dan khusus untuk melakukan pemulihan dari kesalahan tersebut. 6. Memungkinkan Pembalikkan Aksi yang Sederhana (Permit easy reversal of actions) Perancangan sistem sebisa mungkin memiliki tindakan yang saling berbalas. Fitur ini mengurangi kecemasan pada pengguna karena pengguna tahu bahwa kesalahan dapat dibatalkan dan mendorong eksplorasi pilihan yang asing. 7. Mendukung Pusat Kendali Internal (Support internal locus of control) Pengguna yang berpengalaman memiliki keinginan untuk bertanggung jawab atas antarmuka dan antarmuka merespon tindakan mereka dengan cara dapat mengendalikan menu sesuai dengan fungsi masing-masing. 8. Mengurangi Beban Ingatan Jangka Pendek (Reduce short term memory load) Kapasitas ingatan manusia yang terbatas dalam memproses informasi dalam memori jangka pendek mengharuskan bahwa desainer harus menghindari perancangan antarmuka yang membuat pengguna harus mengingat informasi dari satu layar ke layar lain.