4
LANDASAN TEORI
2.1 Teori-teori Umum
Dalam penyusunan skripsi ini, terdapat beberapa teori umum yang kami gunakan sebagai landasan teori. Di bawah ini merupakan teori-teori tersebut.
2.1.1 Teori-teori Sistem Basis Data 2.1.1.1 Basis Data
Menurut Connolly dan Begg (2010, p54), basis data adalah kumpulan dari suatu koleksi data bersama yang saling berhubungan secara logis, dan juga merupakan penjelasan dari data-data tersebut, yang dirancang untuk menampilkan informasi yang dibutuhkan oleh suatu pihak maupun organisasi tertentu.
Menurut Connolly dan Begg (2010, p65), dalam basis data terdapat tiga istilah khusus, yakni entitas, atribut, dan relationship. Entitas adalah sebuah objek berbeda (dapat berupa tempat, seseorang, sesuatu konsep, ataupun kejadian) di dalam suatu organisasi yang harus mewakilkan dalam basis data. Atribut adalah sebuah properti yang menjelaskan aspek-aspek dari objek yang ingin di-record. Relationship adalah asosiasi diantara entitas satu dengan entitas lainnya (Connolly & Begg, 2010)
2.1.1.2 Daur Basis Data
Menurut Connolly dan Begg (2010,321) Pengertian Information Sistem Lifecycle adalah sumber daya yang memungkinkan pengumpulan, manajemen, kontrol, dan penyebaran informasi melalui sebuah organisasi (Connolly & Begg, 2010).
Gambar 2.1 The Stages Of The Database System development lifecycle Database Planning System definition Requirements collection and analysis Aplication design Prototyping (optional)
Data conversion and loading
Operational maintenance Testing DBMS selection (optional) Implementation Database design
Conceptual Database design
Logical database design
STAGES MAIN ACTIVITIES
Database planning
Merencanakan bagaimana tahapan dari lifecycle dapat di buat dengan sangat effisien dan evektif.
System definition
Menspesifikasi lingkup dan batas dari database sistem, termasuk pandangan pengguna utama, user
itu sendiri, dan area aplikasi.
Requirements collection and analysis
Koleksi dan analisis dari keperluan untuk database sistem yang baru.
Database design Konsep, logika, dan fisik rancangan dari database.
DBMS selection (optional)
Memilih DBMS yang sesuai untuk database sistem.
Application design
Mendisain user interface dan aplikasi program yang menggunakan dan memproses database.
Prototyping (optional)
Membangun model kerja dari sistem database. Dimana memperbolehkan pendesain atau
pengguna untuk memvisualisasikan dan mengevaluasi bagaimana bentuk sistem akhir dan
Implementation
Membuat definisi database fisik dan program aplikasi.
Data conversion and loading
Memindahkan data dari sistem lama ke sistem baru dan jika memungkinkan, jika memungkinkan
mengubah semua aplikasi yang ada untuk dijalankan di database yang baru.
Testing
Sistem database ialah pengetesan untuk error dan validasi terhadap permintaan spesifik oleh
pengguna.
Operational maintanance
Sistem database di implementasikan secara maksimal sistem secara terus menerus memantau
dan mengatur. Jika diperlukan, kebutuhan baru ditambahkan ke dalam sistem database melalui
proses tingkatan lifecycle.
2.1.1.3 Konsep Model ERD 1. Tipe Relationship
Menurut Connolly dan Begg (2010,p374) Relationship adalah Kumpulan keterkaitan yang memiliki arti tertentu (meaningful associations) antara tipe entitas yang ada. Relationship occurrence, yaitu keterkaitan yang diidentifikasi secara unik dimana setiap keterkaitannya meliputi keberadaan tiap type entitas yang berpartisipasi.
Gambar 2.2 Relationship Branch has Staff 2. Attributes
Menurut Connolly dan Begg (2010,p379) attributes merupakan sifat-sifat (property) dari satu entity maupun type relationship. Attribute Domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam-macam atribut :
a. Simple Attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil. Diketahui dengan nama Atomic Attribute.
b. Composite Attribute, yaitu atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independen atau tidak saling tergantung satu dengan lainnya. Misalkan atribut Address dapat terdiri dari Street, City, PostCode. c. Single-valued Attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadiannya. Misalnya entitas Branch memiliki satu nilai untuk atribut branchNo pada setiap kejadiannya.
d. Multi-valued Attribute, yaitu atribut yang memiliki beberapa nilai untuk setiap kejadian. Misal entitas Branch memiliki beberapa nilai untuk atribut telpNo pada setiap kejadiannya.
e. Derived Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas.
3. Keys
a. Candidate Key, yaitu jumlah minimal atribut-atribut yang dapat meng-identifikasikan di setiap kejadiannya secara unik.
b. Primary Key, yaitu Candidate key yang dipilih untuk mengidentifikasikan setiap kejadiannya dari suatu entitas secara unik.
c. Composite Key, yaitu Candidate key yang terdiri dari dua atau lebih atribut.
Gambar 2.3 ER Diagram of Staff and Branch Entities and their Attributes
4. Structural Constraints
Batasan utama pada relationship disebut multiplicity, yaitu jumlah dari suatu kejadian yang mungkin terjadi pada suatu entitas yang terhubung dengan satu kejadian dari entitas lain yang berhubungan juga melalui suatu relationship. Relationship yang umum digunakan ialah binary relationship (Connolly & Begg, 2010). Macam-macam binary relationship yaitu :
a. one-to-one (1:1)
b. one-to-many(1:*)
Gambar 2.5 ER Diagram of Staff and PropertyForRent Entities and general constraint
c. many-to-many(*:*)
Gambar 2.6 ER Diagram of Staff and PropertyForRent Entities and general constraint
2.1.1.4 Normalisasi
Menurut Connolly dan Begg (2010,415) untuk melakukan perancang basis data yang baik, sangat penting dilakukan normalisasi. Normalisasi merupakan sebuah teknik formal yang dipakai sebagai penghasil set relasi dengan properti yang diperlukan dan memberikan data tepat dan akurat dengan kebutuhan perusahaan atau klien.
Tujuan normalisasi yaitu:
1. Mengidentifikasi hubungan antara atribut satu dengan lainnya 2. Menggabungkan atribut-atribut untuk membentuk relasi 3. Menggabungkan relasi untuk membentuk database 4. Menghindari anomaly yang dapat terjadi pada data
UNF
Dalam proses normalisasi UNF kita menampilkan semua atribut yang ada didalam suatu form yang diperlukan untuk kita lakukan normalisasi. 1NF
Sebuah relasi berada dalam 1NF jika relasi tersebut tidak terjadi perulangan atribut, field yang berbentuk hasil perhitungan dihilangkan dan sudah memiliki primary key.
2NF
Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan pada setiap atribut non key bergantung fungsional secara penuh kepada primary key. Sehingga pada 2NF akan terjadi penghilangan ketergantungan sebagian. Ketergantungan sebagian ialah: ketergantungan field-field tertentu yang terjadi hanya kepada salah satu key yang bersifat composit.
3NF
Sebuah relasi berada dalam 3NF, apabila relasi tersebut dalam 1NF dan 2NF dan sudah tidak adanya atribut non key yang bergantung fungsional kepada atribut non key yang lainnya (Connolly & Begg, 2010).
2.1.1.5 Tahapan perancangan basis data
Perancangan basis data terdiri dari tiga tahap utama, yaitu : 1. Perancangan basis data konseptual
Pada tahap ini, model data dibentuk dari sudut pandang dunia nyata yang terlepas dari pertimbangan fisik. Desain model hanya terdiri dari entity-entity dengan nama tabel dan relasi yang terjadi antar-tabel.
2. Perancangan basis data logikal
Pada proses ini akan digambarkan sebuah deskripsi dari implementasi basis data dalam penyimpanan sekunder, yang menggambarkan struktur penyimpanan dan metode akses yang akan digunakan sebagai metode akses yang efisien terhadap data.
3. Perancangan basis data fisik
Pada proses ini akan digambarkan menyerupai sebuah deskripsi dan ilustrasi dengan menggunakan contoh dari sebuah metode perancangan fisik basis data untuk basis data yang memiliki hubungan (Connolly & Begg, 2010).
2.1.1.6 Data Flow Diagram (DFD)
Menurut Whitten (2004, p326), Data Flow Diagram (DFD) adalah sebuah alat untuk melakukan penggambaran dari suatu aliran data melalui sistem yang bekerja maupun pengolahan yang dilakukan oleh sistem tersebut. Simbol maupun tanda yang akan digunakan dalam pembuatan DFD diantaranya :
a. Process adalah kerja yang dilakukan pada atau sebagai respons terhadap aliran data masuk atau kondisi.
b. Data flow menunjukkan input data ke proses atau output data (atau informasi) dari proses. Data flow juga digunakan untuk menunjukkan pembuatan, pembacaan, penghapusan atau pembaruan data dalam file atau database.
c. External Agent mendefinisikan orang, unit organisasi, sistem, atau organisasi luar yang berinteraksi dengan sistem.
d. Data store adalah penyimpanan data yang akan digunakan untuk penyimpaan data selanjutnya (Jeffrey & Lonnie, 2007).
2.1.1.7 Entity Relationsip Diagram (ERD)
Menurut Whitten (2004, p295), ERD atau Entity Relationship Diagram merupakan sebuah model data yang menggunakan beberapa notasi untuk menjelaskan hubungan antara data. Notasi yang dimaksud adalah entitas dan relasinya yang digambarkan oleh data tersebut. Entitas adalah sebuah class dari orang, tempat, obyek, kejadian, atau konsep yang dipakai
untuk sebuah data. Attribute merupakan deskripsi properti atau karakteristik dari entitas, sering disebut sebagai elemen, property, field. Cardinality adalah jumlah minimum atau maksimum dari satu entitas yang memiliki relasi kepada entitas lain (Jeffrey & Lonnie, 2007).
2.1.1.8 Unified Modeling Language (UML)
UML adalah satu kumpulan konvensi pemodelan untuk menggambarkan sistem perangkat lunak yang terkait dengan objek. UML tidak menentukan metode untuk sistem pengembangan, hanya catatan yang saat ini telah diterima luas sebagai standar untuk pemodelan objek.
Konsep sistem untuk pemodelan objek :
1. Objek, Atribut, Metode dan Enkapsulasi 2. Kelas, Generalisasi dan Spesialisasi 3. Hubungan objek atau kelas
4. Pesan dan mengirim pesan 5. Polymorphism
UML menawarkan diagram yang dikelompokan menjadi 5 perspektif berbeda untuk memodelkan suatu sistem yaitu :
1. Diagram model Use-case
Secara grafis, menggambarkan interaksi antara sistem, sistem eksternal dan pengguna
2. Diagram struktur statis
a. Diagram Kelas
Menggambarkan struktur objek sistem. Diagram ini menunjukkan kelas objek yang menyusun sistem dan juga hubungan antar kelas objek tersebut. b. Diagram objek
Serupa dengan diagram kelas, tetapi daripada menggambarkan kelas objek, diagram objek memodelkan sebuah instansi objek aktual dengan menunjukkan nilai saat ini
3. Diagram interaksi
Memodelkan sebuah interaksi, terdiri dari 1 set objek, hubungan-hubungannya dan pesan yang terkirim di antara objek. UML menawarkan 2 diagram untuk memodelkan interaksi ini yaitu :
a. Diagram Rangkaian atau Sekuens
Secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada eksekusi sebuah use-case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima di antara objek dan dalam sekuens apa
b. Diagram kolaborasi atau collaboration
Diagram ini menggambarkan interaksi atau kolaborasi antar objek dalam format jaringan
4. Diagram state
Diagram ini memodelkan tingkah laku dinamis dari sistem. Ada 2 jenis diagram untuk bagian ini yaitu :
a. Diagram statechart
Digunakan untuk memodelkan tingkah laku objek khusus yang dinamis. Diagram ini mengilustrasikan siklus hidup objek, berbagai keadaan yang
dapat di asumsikan oleh objek dan kejadian yang menyebabkan objek beralih dari satu state ke state lain.
b. Diagram aktivitas
Secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis maupun use-case. Diagram ini juga dapat digunakan untuk memodelkan aksi yang akan dilakukan saat sebuah operasi di eksekusi dan memodelkan hasil dari aksi tersebut.
5. Diagram implementasi
Diagram ini juga memodelkan struktur system informasi seperti :
a. Diagram komponen
digunakan untuk menggambarkan organisasi dan ketergantungan komponen software system.
b. Diagram penguraian atau dekomposisi
mendeskripsikan arsitektur fisik dalam istilah “node” untuk hardware dan software dalam sistem. (Jeffrey & Lonnie, 2007)
2.1.2 PHP
Menurut Connolly dan Begg (2010, p1043) PHP merupakan salah satu bahasa script dengan sumber terbuka yang cukup populer dan di sertai dukungan dari banyak web server lainnya, termasuk dukungan dari Apache HTTP Server dan Internet Information Server Microsoft. Pengembangan dari PHP itu sendiri juga dipengaruhi oleh sejumlah bahasa lain seperti Perl, C, dan Java maupun juga untuk sebagian halaman extend dari server yang aktif.
Beberapa keunggulan dari bahasa PHP dibandingkan dengan bahasa scripting lainnya adalah dari cara penulisan halaman yang dihasilkan secara dinamis dan lebih cepat, lebih mudah dipelajari dan lebih mudah digunakan. PHP memiliki library untuk berbagai web yang termasuk umum, beberapa modul ekstensi telah ada dan disediakan untuk mendukung hal-hal tersebut seperti konektivitas database, mail, dan juga XML (Connolly & Begg, 2010).
2.1.3 Website
Menurut Connolly dan Begg (2010, p1028) Website adalah sistem yang menyediakan sarana informasi browsing di Internet dengan cara non-sequential menggunakan hyperlink. Website membentuk rangkaian bangunan yang saling terkait satu dengan lainnya dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (Connolly & Begg, 2010).
2.1.4 Java Script
Menurut Connolly dan Begg (2010, p1041) JavaScript adalah object-based scripting language yang berasal dari penggabungan development program diantara Netscape dan Sun, dan juga menjadi Netscape’s web scripting language (Connolly & Begg, 2010). Java cript memiliki beberapa point penting yakni:
a. Interpreted by client.
b. Object-based. Code use build in, extensible object, but no class or inheritance.
c. Code integrated with, and embedded in HTML. d. Nilai dari tipe data tidak di deklarasi.
f. Tidak secara langsung tersimpan ke Hard Disk.
2.1.5 JQuery
jQuery ialah sebuah JavaScript terbaru yang penggunaannya cepat dan sederhana. jQuery menyederhanakan HTML document traversing, event handling, animation, dan interaksi AJAX pada rapid web development (Foundation, 2013).
2.1.6 MySQL
MySQL ialah salah satu sumber terbuka dari SQL Database Management System yang sangat populer, di kembangkan, didistribusikan, dan di dukung oleh Oracle Corporation. (Oracle, 2013).
1. Integer Types (Exact Value)
Tipe Storage Minimum Value Maximum Value
(Bytes) (Signed/Unsigned) Signed/Unsigned)
TINY INT 1 -128 127 0 255 SMALL INT 2 -32768 32767 0 65535 MEDIUM INT 3 -8388608 8388607 0 16777215 INT 4 -2147483648 2147483647 0 4294967295 BIG INT 8 -9223372036854775808 9223372036854775807 0 18446744073709551615
Tabel 2.2 Integer Types (Exact Value)
2. Date Types
No Tipe
Data
Keterangan Ukuran
1. DATETIME Kombinasi tanggal dan waktu dengan jangkauan dari ‘1000-01-01 00:00:00’ sampai dengan ‘9999-12-31
23:59:59’
2. DATE Kombinasi tanggal dan waktu dengan jangkauan dari ‘1000-01-01’ sampai dengan ‘9999-12-31 ’
8 byte.
3. TIMESTAMP Kombinasi tanggal dan waktu dengan jangkauan dari ‘1970-01-01’ sampai dengan ‘2037 ’
4 byte.
4. TIME Digunakan untuk menyimpan waktu dengan jangkauan dari
-838:59:59 sampai dengan 838:59:59
3 byte.
5. YEAR Digunakan untuk menyimpan data tahun dari tanggal antara 1901 sampai dengan 2155
1 byte
Tabel 2.3 Date Types
3. Character Types
No Tipe
Data
Keterangan Ukuran
1. CHAR Data string dengan panjang yang tetap. CHAR(1) cukup ditulis dengan CHAR. 1<=M<=255, Jika ada sisa, maka sisa tersebut diisi dengan spasi (misalnya nilai M adalah 10, tapi data yang disimpan hanya memiliki 7 karakter, maka 3 karakter sisanya diisi dengan spasi). Spasi ini akan dihilangkan apabila data dipanggil. Nilai dari CHAR akan disortir dan
diperbandingkan secara
case-insensitive menurut default character set yang tersedia, kecuali bila atribut BINARY disertakan.
M byte.
2. VARCHAR Ukuran L+1 byte dengan L<=M dan 1<=M<=255. Data string dengan panjang bervariasi tergantung datanya. Jika nilai M adalah 10 sedangkan data yang disimpan hanya terdiri dari 5 karakter, maka lebar data tersebut hanya 5 karakter saja, tidak ada tambahan spasi.
L+1 byte
3. TINYBLOB, TINYTEXT
L+1 byte, dengan L<28 . Tipe TEXT atau BLOB dengan panjang maksimum 255 karakter.
L+1 byte
4. BLOB, L+2 byte, dengan L<216 . Tipe TEXT atau BLOB dengan panjang
TEXT maksimum 65535 karakter. 5. MEDIUMBLOB,
MEDIUMTEXT
L+3 byte, dengan L<224. Tipe TEXT atau BLOB dengan panjang maksimum 1677215 karakter.
L+3 byte
6. LONGBLOB, LONGTEXT
L+4 byte, dengan L<232. Tipe TEXT atau BLOB dengan panjang maksimum 4294967295 karakter.
L+4 byte
7. ENUM Ukuran 1 atau 2 byte tergantung nilai enumerasinya maks 65535 nilai
1 atau 2 byte 8. SET Ukuran 1,2,3,4 atau 8 byte tergantung
jumlah anggota himpunan maks 64 anggota.
1,2,3,4 atau 8 byte
Tabel 2.4 Character Types
2.1.7 HTML
Menurut Connolly dan Begg (2010, p1031) HTML adalah sebuah bahasa format dokumen yang digunakan untuk mendesain hampir seluruh halaman web dan sistem untuk marking-up, atau melakukan tagging, sebuah dokumen sehingga dapat di publikasi di Web (Connolly & Begg, 2010).
2.2 Teori-teori Khusus
Dalam penyusunan skripsi ini, terdapat beberapa teori khusus yang kami gunakan sebagai landasan teori. Di bawah ini merupakan teori-teori tersebut.
2.2.1 Teori-teori Transaksi
Menurut Connolly dan Begg (2010, p117), transaksi adalah satu atau serangkaian aksi yang dipicu oleh user atau aplikasi untuk dapat mengakses atau mengubah isi dari basis data.
Terdapat tiga macam transaksi, yaitu 1. Transaksi pengambilan
Misalnya ketika kita ingin menampilkan data costumer, dan detailnya ditampilkan di layar.
2. Transaksi update
Contohnya memasukan data barang baru, menghapus data barang, atau merubah detail suatu data.
3. Transaksi campuran
Transaksi yang memanggil dan menampilkan data di layar, kemudian merubah detail data tersebut (Connolly & Begg, 2010).
2.2.2 Penjualan
Menurut Mulyadi (2011,p202), Penjualan terdiri dari transaksi penjualan barang dan jasa secara tunai. Dengan menggunakan cara penjualan tunai yaitu penjualan yang dilaksanakan Perusahaan dengan mengharuskan pelanggan dengan melakukan pembayaran barang terlebih dahulu, sebelum barang dimiliki oleh pelanggan.
Prosedur memiliki beberapa bentuk sistem penjualan yaitu : Prosedur order penjualan, prosedur pengiriman, prosedur penagihan.
a. Prosedur Order Penjualan berfungsi dalam menerima order dari pembeli dan membuat faktur penjualan tunai
b. Prosedur pengiriman berfungsi dalam mengirimkan barang pesanan kepada pembeli sesuai dengan informasi yang tertera di dalam surat pengiriman barang.
c. Prosedur Penagihan berfungsi untuk menagih bayaran yang sudah di pesan oleh pembeli (Mulyadi, 2010).