BAB 2 LANDASAN TEORI 2.1 Rekayasa Piranti Lunak(RPL) 2.1.1...
Embed Size (px)
Transcript of BAB 2 LANDASAN TEORI 2.1 Rekayasa Piranti Lunak(RPL) 2.1.1...
-
9
BAB 2
LANDASAN TEORI
2.1 Rekayasa Piranti Lunak(RPL)
2.1.1 Definisi rekayasa piranti lunak
Menurut Fritz Bauer, rekayasa piranti lunak adalah pengembangan dan
penggunaan prinsip pengembangan untuk memperoleh perangkat lunak secara
ekonomis yang dapat diandalkan dan dapat bekerja dengan lebih baik pada mesin
nyata.(Pressman, 2005,p53).
Dikembangkan oleh IEEE (INSTITUTE OF ELECTRICAL AND
ELECTRONICS ENGINEERS), definisi tersebut memiliki makna yang lebih luas
dan lengkap, yaitu:
(1) Aplikasi dari sebuah pendekatan sistematis, dan berdisiplin kepada
pengembangan, operasi, dan pemeliharaan perangkat lunak, ini adalah
aplikasi untuk mengembangkan software.
(2) pembelajaran tentang pendekatan dalam (1).
2.1.2 Lapisan-lapisan pendekatan RPL
Lapisan-lapisan pendekatan RPL terbagi menjadi 3(tiga) bagian utama
(pressman,2005,p53-54).
-
10
(1) Process layer
Bagian ini adalah fondasi dari RPL yang mendefinisikan sebuah
kerangka kerja untuk sekumpulan kunci proses yang harus dibangun
demi keefektifan penyampaian teknologi pengembangan RPL.
(2) Methods layer
Bagian ini menjelaskan secara teknis bagaimana cara membangun
suatu perangkan piranti lunak.
(3) Tools layer
Bagian ini menyediakan dukungan otomatisdan semi otomatis untuk
process dan methods.
Lapisan-lapisan diatas di dukung oleh sebuah layer pendukung yang
menjadi landasan paling penting dalam RPL yaitu Quality focus. Layer ini harus
diisi dengan manajemen yang baik dan filosofi yang baik untuk meningkatkan
kualitas dari software tersebut.
Lapisan-lapisan rekayasa piranti lunak dapat di lihat pada gambar 2.1
Gambar 2.1 software engineering layers
-
11
2.1.3 Model Proses Software
Menurut Pressman(2005,78), ada beberapa model proses yang lazim
digunakan dalam merancang suatu software, model-model tersebut dapat
dijelaskan sebagai langkah-langkah yang akan digunakan dalam merancang
suatu software.
2.1.3.1 prescriptive models
Proses model ini mendeskripsikan setiap modul yang dikerjakan.
Disebut prescriptive karena mereka menentukan elemen-elemen kerangka
proses, tindakan perancangan program, tugas-tugas, hasil pekerjaan, jaminan
kualitas, dan mekanisme perubahan kontrol untuk sebuah projek. Setiap model
juga menentukan aliran kerja yang menggambarkan keterkaitan elemen-elemen
proses.
2.1.3.2 waterfall model
Proses model yang terkadang disebut sebagai classic lifecycle ini
menyarankan sebuah pendekatan yang sistematis dan sekuesnsial untuk
pengembangan sofware yang dimulai dengan persyaratan yang diminta oleh
customer, dan berkembang melalui perencanaan, pemodelan, memuncak dengan
maintenance setelah projek selesai dikerjakan.
-
12
Gambar 2.2 waterfall model
Waterfall model pada setiap langkahnya akan dirinci sebagai berikut:
a. Requirements definition
Tahap ini adalah tahap awal pengumpulan data dan menetukan spsifikasi
dari pengguna secara detail untuk membentuk suatu sistem.
b. System and Software Design
Merancang bagian-bagian dari sistem dalam hal spesifikasi untuk
membangun aksitektur sistem. Mengidentifikasi dan menjelaskan sistem
software dan hubungannya.
c. Implementation and Unit Testing
Dalam tahap ini, sistem software diterapkan dalam kumpulan program dan
subprogram. Memverifikasi bahwa semua program-program sesuai dengan
spesifikasinya.
d. Integration and System Testing
Melakukan pengecekan terhadap semua bagian sistem dan masing-
masing hubungannya bahwa sudah memenuhi spesifikasinya. Setelah selesai,
sistem dapat diberikan kepada pengguna.
e. Operation and maintenance
-
13
Melakukan perawatan secara berkala terhadap sistem bila sistem
mengalami perubahan spesifikasi dari pengguna.
2.1.3.3 Incremental Process Model
Proses model ini terbagi 2 yaitu:
2.1.3.3.1 Incremental Model
Model ini menggabungkan waterfall model dengan gaya
yang diulang. Setiap model yang dikerjkan akan menghasilkan kemajuan
yang akan terus diperbarui. Jika model ini digunakan maka model
pertama yang dibuat akan menjadi model utama yang akan
dikembangkan. Tetapi banyak sekali fitur yang belum tersampaikan.
Model utama itu akan menjadi gambaran untuk customer untuk tolok
ukur pengembangan software, dan model pertama itu akan terus
dievaluasi. Model ini jika digambarkan dengan diagram akan terlihat
seperti kalender yang berjalan.
-
14
Gambar 2.3 incremental model
2.1.3.3.2 Rapid Application Development(RAD)
RAD adalah proses model waterfall yang diadaptasi secara
cepat menggunakan pendekatan komponen konstruksi. Model ini hanya
dapat digunakan secara maksimal jika permintaan customer
Gambar 2.4 RAD model
-
15
2.1.3.4 Evolutionary process model
2.1.3.4.1 prototyping
Proses model yang dapat digunakan ketika permintaan
user sangat riskan dan tidak terdefinisi dengan jelas. Proses model
ini juga merupakan proses model yang bisa berdiri sendiri tanpa
harus digabungkan dengan proses model yang lain. Proses model
ini menggunakan system pemodelan awal yang akan
dikembangkan seiring dengan permintaan dari user.
Gambar 2.5 Prototyping model
-
16
2.1.3.4.2. Spiral model
Proses model yang dibuat oleh Boehm ini menggabungkan
antara proses berulang yang dimiliki oleh prototyping dan aspek
sistematis dan terkontrol yang dimiliki oleh waterfall model yang
memungkinkan software dikembangkan dengan lebih cepat dan
lebih lengkap. Menurut boehm, model ini digambarkan sebagai
pembuat proses model yang didorong oleh resiko untuk
membimbing para investor dan pemegang saham dalam rekayasa
perangkat lunak intensif secara bersama-sama
(pressman,2005,86).
Model ini memiliki dua fitur utama yang berbeda,
pertama, pendekatan berputar untuk pengembangan bertahap dari
derajat definisi sebuah system dan implementasi sementara
mengurangi derajat resiko. Yang kedua, adalah untuk menetapkan
target kerja dan perkiraan kejadian untuk meyakinkan komitmen
para pemegang saham untuk melihat hasil yang dapat diukur, dan
untuk kepuasan solusi perusahaan yang saling menguntungkan.
-
17
Gambar 2.6 spiral model
2.2 Interaksi Manusia dan Komputer
Interaksi Mansuia dan Komputer dalam bahasa inggris disebut dengan Human
Computer Interaction (HCI) adalah sebuah disiplin ilmu yang mempelajari perancangan,
implementasi, dan evaluasi sistem komputasi interaktif dan berbagai aspek terkait
(Hewett, et al., 1992, 1996)
Bagian ini menyajikan prinsip-prinsip yang mendasari perancangan desain yang
diterapkan dalam sistem yang paling interaktif. Prinsip-prinsip yang mendasari
perancangan desain ini, berasal dari pengalaman yang heuristik, yang sudah disetujui
dan di sempurnakan. Prinsip–prinsip itu disebut 8 aturan emas.
-
18
Berikut ini adalah delapan aturan emas dari desain antarmuka menurut
schneiderman(1998,74):
1. Berusaha Untuk Konsisten
Aturan ini salah satu yang paling sering di langgar, tetapi dengan mengikuti
aturan ini bisa menjadi rumit karena ada banyak bentuk konsistensi. Tindakan
yang konsisten harus ada pada saat situasi yang mirip, Istilah yang serupa harus
di gunakan pada prompt, menu, dan layar bantuan. Dan warna yang konsisten,
rancangan,jenis huruf dan seterusnya harus digunakan secara keseluruhan.
2. Memungkinkan pengguna untuk menggunakan shortcut
Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan
interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi,
dan fasilitas makro. Waktu respon yang singkat dan tingkat kecepatan tampilan
merupakan daya tarik bagi pengguna.
3. Memberikan umpan balik yang informatif
Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik.
Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan
umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang
penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu
suara ketika salah menekan tombol pada waktu input data atau muncul pesan
kesalahannya.
-
19
4. Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian
awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan indikasi
bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok
tindakan berikutnya.
5. Memberikan penanganan kesalahan yang sederhana
Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan
kesalahan fatal. . “Misal di bagian menu form registrasi, dilarang menggunakan
alphabet pada field yang harus di isi dengan angka.”
Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan
memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan
x`kesalahan. “Misal User tidak perlu mengetik ulang dari awal apa bila terjadi
kesalahan pada pengisian form, hanya perlu memperbaiki field yang mengalami
eror saja.
6. Mudah kembali ke tindakan sebelumnya
Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui
kesalahan yang dilakukan dapat dibatalkan; sehingga pengguna tidak takut untuk
mengekplorasi pilihan-pilihan lain yang belum biasa digunakan.
7. Mendukung tempat pengendali internal (internal locus of control)
Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan
yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol
pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna
menjadi inisiator daripada responden.
-
20
8. Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau
banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu
pelatihan untuk kode, mnemonic, dan urutan tindakan.
2.3 E-Commerce
2.3.1 Definisi E-Commerce
Menurut chaudury dan kuilboer(2002,p6), E-Commerce adalah
frasa yang digunakan untuk menggambarkan beberapa konsep yang
berelasi dan fenomena bisnis. Kegiatan-kegiatan seperti membeli buku,
mengecek saldo bank via internet sudah dapat dikatakan sebagai e-
commerce. Kegiatan-kegiatan diatas memiliki 2 hal yang sama, yaitu
kegiatan diatas berhubungan dengan bisnis dan kegiatan komersil, dan
kegiatan-kegiatan diatas berjalan berbasis internet dan menggunakan
world wide web
2.3.2 Tipe-Tipe E-Commerce
2.3.2.1 Business-to-consumer(B2C)
Business-to-Consumer e-commerce, melibatkan pembelian, dan
kegiatan-kegiatan seperti promosi, pemesanan dan pembayaran. Dalam
B2C, consumer langsung menggunakan internet, dan melakukan aktivitas
seperti mencari, memesan dan melakukan pembayaran.
-
21
Aktivitas yangdikerjakan dalam B2C adalah
1. Promosi
Teknik yang digunakan meliputi:
1. Banner
2. Buttons
3. Superstitials
4. Rich media banners
Kekurangan web untuk promosi adalah
• Hanya banner kecil yang diperbolehkan.
• Pengguna web tidak bisa dikontrol
• Tingkat keefektifan tidak di perlihatkan oleh
web
Kelebihan web untuk promosi adalah
• Interaktif dengan pengguna
• Lebih fokus daripada media informasi yang
lain
• Web adalah alat untuk berinteraksi antar
pengguna
2. Pemesanan
Pemesanan lewat web lebih mudah karena tidak perlu
pergi keluar rumah dan tidak perlu membuang waktu
untuk perjalanan ke toko.
-
22
3. Pengantaran barang
Lebih cocok untuk konten digital, karena menghemat
waktu biaya,sebagai alternatif yang dapat dilakukan untuk
pengiriman produk. Meskipun demikian kami berpendapat bahwa,
sekarang ini tidak hanya konten digital yang dapat dikirimkan
melalui e-commerce.
4. After-Sales Support
After sales support sangat penting, karena merupakan
mata rantai terakhir antara produsen dan konsumen. Internet
membuat hubungan ini menjadi lebih mudah terjalin misal
dengan lebih mudah. Konsumen dapat bertanya dan mendapat
respon lebih cepat melalui email dan produsen menggunakan
mesin penjawab untuk menjawab pertanyaan konsumen yang
sering ditanyakan.
2.3.2.2 Bussiness to Business(B2B)
Bussiness to Business E-Commerce mengalami
pertumbuhan yang cukup fenomenal dengan disadarinya potensi
internet guna menekan biaya yang digunakan antar produsen
dalam rantai persediaan mereka. Ini memperbolehkan mereka
untuk melakukan penggabungan antara produksi dan rencana
pengiriman barang.
-
23
Aktivitas yang dikerjakan dalam B2B adalah
1. Mengumpulkan informasi tentang produk yang
dibutuhkan.
Perusahaan yang membeli produk yang
rumit harus mengetahui informasi-informasi
seperti spesifikasi, pelayanan yang diberikan,
kualitas dan garansi.
2. Prapembelian
Terdiri dari langkah-langkah yang harus
dilakukan sebelum melakukan pembelian seperti
meminta proposal, meminta harga, pemberian
spesifikasi kepada penjual, dan negosiasi kondisi
kontrak.
3. Pembelian
Langkah ini berisi tentang apa yang harus
dikerjakan dalam melakukan pemesanan barang.
4. Pengiriman dan bukti pembayaran barang
Pembeli harus di informasikan tentang
jadwal pengiriman dan bukti pembelian harus
disediakan dengan baik.
-
24
5. Pembayaran
Penjual harus dibayar sesuai dengan
kontrak dan instruksi pembayaran harus di berikan
pada bank.
2.4 Database
2.4.1 Pengertian Database
Basis data adalah koleksi data berbagi yang berhubungan secara logikal,
dan deskripsi dari data tersebut, didesain untuk memenuhi kebutuhan informasi
dan data satuan yang besar yang dapat digunakan secara terus menerus oleh
berbagai dapartemen dan pengguna informasi. (Connolly,2002, 14)
Basis data adalah kumpulan data, yang biasa menggambarkan kegiatan
dari satu atau lebih organisasi yang saling terkait.(Raghu Ramakrishnan,2000,3)
Basis data adalah koleksi data logika terkait yang terorganisir yang
mungkin dari berbagai ukuran dan kompleksitas. (Jeffrey A. Hoffer,2005,4)
Basis data adalah koleksi data persistent yang bisa dibagi dan saling
berhubungan. (Michael V.Mannino,2001,4)
• Persistent berarti bahwa data berada pada penyimpanan stabil
seperti disk magnetic (Hard Disk)
• Dibagi berarti bahwa basis data dapat memiliki kegunaan ganda
dan pengguna yang menyediakan memori bersama untuk
beberapa fungsi dalam suatu organisasi.
-
25
• Saling berhubungan berarti bahwa data disimpan sebagai unit
yang terpisah dapat dihubungkan untuk memberikan gambaran
keseluruhan.
2.4.2 Komponen Basis Data
• Records
Menurut Connolly (2002, p8), records adalah suatu kumpulan
data yang bersatu karena memiliki kesamaan logikal.
• Fields
Menurut Connolly (2002, p8), fields adalah kumpulan dari
berbagai karakter yang merepresentasikan karakteristik dari
objek-objek pada dunia nyata yang dibentuk menjadi suatu
permodelan.
Fields mengandung berbagai karakteristik dari berbagai
properties, seperti alamat, tipe properties, dan banyaknya
ruangan (Connolly, 2002, p8).
• File
File adalah himpunan dari semua kejadian yang diberikan dari
struktur record. (whitten, 2004, p552).
• Entity
Entity adalah sebuah objek yang berbeda dalam organisasi yang
akan di wakili dalam basis data. (Connolly, 2002, p15)
• Relationship
Relation adalah Hubungan antara entity. (Connolly, 2002, p15)
-
26
• Attribute
Attribute adalah properti yang menggambarkan beberapa aspek
dari objek yang ingin kita rekam. (Connolly, 2002, p15)
• Primary Key
Primary Key adalah kunci kandidat yang terpilih untuk
mengidentifikasi tupel secara unik dalam relasi (Connolly, 2002,
p79).
• Foreign Key
Foreign key adalah atribut atau seperangkat atribut, dalam satu
hubungan yang sesuai dengan kandidat key dari beberapa
hubungan. (Connolly, 2002, p79)
• Domain
Domain adalah kumpulan nilai yang diperbolehkan untuk satu
atau lebih attribute. (Connolly, 2002, p72)
• Tuple
Tuple adalah baris data dari sebuah tabel. (Connolly, 2002, p73)
• Degree
Degree dari sebuah tabel adalah jumlah dari attribute yang
dimiliki oleh sebuah tabel. (Connolly, 2002, p74)
• Cardinality
Cardinality dari sebuah tabel adalah jumlah baris data yang
dimiliki oleh sebuah tabel. (Connolly, 2002, p74)
-
27
• Relational Database
Relational database adalah kumpulan dari tabel yang sudah di
normalisasi dengan nama tabel yang berbeda. (Connolly, 2002,
p74)
Gambar 2.7 komponen database
-
28
2.4.3 Entity Relationship Diagram
Entity Relationship Diagram atau biasa kita kenal dengan ERD
adalah model data yang menggunakan beberapa notasi untuk
menggambarkan data dalam konteks entitas dan hubungan yang
dideskripsikan oleh data tersebut. (Whitten, 2004, p281)
Gambar 2.8 ERD
Entity Relationship Diagram memiliki Tiga Komponen yaitu:
1. Entity
Entity adalah kelompok orang, tempat, objek, kejadian atau konsep
tentang apa yang kita perlukan untuk mencapture dan menyimpan
data.(Whitten, 2004, p281)
-
29
• Entity Type
Tipe entitas adalah sebuah kumpulan objek yang memiliki
kesamaan properti yang teridentifikasi oleh sebuah perusahaan
dan mempunyai keberadaan yang independen (Connolly, 2002,
p331).
• Entity Occurrence
Entity Occurrence adalah sebuah objek yang secara unik dapat
teridentifikasi dengan tipe entitas (Connolly, 2002, p333).
2. Attribute
Attribute adalah sifat atau karakteristik deskriptif suatu entitas
(Whitten, 2004, p281)
Menurut Connolly (2002, p338), atribut adalah deskripsi data
yang mengidentifikasikan entitas yang membedakan entitas tersebut
dengan entitas lainnya.
Atribut domain adalah kumpulan nilai-nilai yang diperbolehkan
untuk satu atau lebih atribut (Connolly, 2002, p339). Domain
mendefinisikan nilai-nilai potensial yang dapat memegang atribut dan
mirip dengan konsep domain dalam model relasional.
Setiap atribut mempunyai key diantaranya Primary Key (PK) dan
Foreign Key (FK)
-
30
Atribut itu dapat dibedakan menjadi simple atau composite;
single-valued atau multi-valued; atau derived, yaitu:
• Simple Attribute adalah atribut yang tediri dari komponen tunggal
dengan adanya kemandirian. Atribut simple tidak dapat dibagi
menjadi komponen yang lebih kecil. (Connolly, 2002, p339)
• Composite Attribute adalah atribut yang terdiri dari beberapa
komponen, yang masing-masingnya bersifat independen.
(Connolly, 2002, p339)
• Single-Valued Attribute adalah atribut yang memegang nilai
tunggal dari suatu entitas. Sebagai contoh : nama_guru hanya
boleh diisi dengan 1 nama guru. Mayoritas atribut pada entitas
adalah single-valued. (Connolly, 2002, p339-340)
• Multi-valued Attribute adalah atribut yang dapat memegang nilai
lebih dari satu nilai dari suatu entitas. Contoh: pada field no_telp
setiap orang biasanya memiliki lebih satu nomor telepon.
(Connolly, 2002, p340)
• Derived attribute adalah atribut yang mewakili nilai yang
diturunkan dari nilai sebuah atribut yang berkaitan atau
seperangkat atribut, belum tentu dalam tipe entitas yang sama.
(Connolly, 2002, p340)
-
31
3. Relationship
Menurut Whitten (2004, p284) Relationship adalah asosiasi bisnis
alami antara satu entitas atau lebih. Biasanya dalam suatu relasi,
entitas yang berhubungan memiliki kata kerja aktif yang menunjukan
bahwa keduanya saling berhubungan satu sama lain.
• Tipe relasi adalah hubungan antara satu atau lebih entitas yang
saling berhubungan (Connolly, 2002, p334).
• Relationship occurence adalah hubungan unik yang
diidentifikasiban, yang mencakup satu kejadian dari setiap jenis
entitas yang berpartisipasi (Connolly, 2002, p334).
Adapun pendeskripsian bagaiman relasi dapat diturunkan dari struktur
data model yang ada, antara lain:
• Tipe Entitas Kuat (Strong Entity)
Strong entity adalah tipe entitas yang dapat berdiri sendiri
yang tidak tergantung dengan entitas lainnya. Jadi entitas dapat
dikatakan kuat jika entitas tersebut dapat tidak tergantung oleh
entitas lainnya.
• Tipe Entitas Lemah (Weak Entity)
Weak entity adalah tipe entitas yang tidak dapat berdiri
sendiri sehingga harus bergantung pada entitas lainnya yang
saling berhubungan. Karakteristik dari weak entity yaitu setiap
entitas occurrence yang tidak dapat teridentifikasi secara unik.
-
32
• Tipe relasi one to many (1:*)
One-to-many adalah hubungan relasi seperti digambarkan
pada gambar dibawah ini, yaitu pada satu kelas dapat memiliki
banyak siswa.
Gambar 2.9 Tipe Relasi one to many
• Tipe relasi one to one (1:1)
One-to-one merupakan hubungan relasi seperti
digambarkan pada gambar dibawah ini, satu siswa pasti hanya
memiliki satu nomor induk.
Gambar 2.10 Tipe relasi one to one
• Relasi rekursif one to one (1:1)
Recursive Relationship adalah sebuah tipe relasi dimana
entitas yang sama tipenya mempartisipasi lebih dari satu peran.
-
33
• Tipe relasi superclass/sublcass
Untuk setiap hubungan superclass/subclass dalam model
data konseptual, kami mengidentifikasi entitas supperclass
sebagai entitas induk dan entitas subclass sebagai entitas anak.
• Tipe relasi many to many (*:*)
Many-to-many adalah hubungan relasi seperti yang
digambarkan dibawah ini, jadi satu siswa mempunyai banyak
topik dan setiap topik dapat dilihat atau di miliki oleh banyak
siswa.
Gambar 2.11 Tipe relasi many to many
• Tipe relasi kompleks
Complex Relationship adalah sebuah tipe relasi dimana
entitas yang satu berhubungan dengan entitas yang lainnya yang
dapat membentuk sirkulasi dalam suatu hubungan.
-
34
2.4.4 Normalisasi
Menurut Connolly (2002, p376), normalisasi adalah suatu teknik
untuk menghasilkan satu kumpulan hubungan dengan sifat yang
diinginkan, mengingat kebutuhan data perusahaan. Proses normalisasi
pertama kali diperkenalkan oleh E.F.Codd pada tahun 1972. Ketika kita
akan mendesain suatu hubungan basis data, tujuan utamanya adalah
untuk menciptakan suatu representasi yang akurat dari data, hubungan,
dan kendala. Proses normalisasi melibatkan beberapa langkah, antara
lain:
• Unnormalized Form (UNF)
UNF adalah tabel yang terdiri dari satu atau lebih grup
yang berulang. Bentuk UNF yaitu data-data belum memiliki relasi
yang berhubungan. Untuk mengubah dari unnormalized table ke
bentuk normal pertama, kita harus mengidentifikasi dan
menghilangkan grup yang berulang dalam suatu tabel.
• First Normal Form (1NF)
1NF adalah suatu hubungan di mana persimpangan setiap
baris dan kolom berisi satu dan hanya satu nilai. Pada 1NF tidak
ada kumpulan atribut yang bernilai ganda atau berulang dan setiap
atribut hanya memiliki satu pengertian. Pada 1NF sudah terbentuk
primary key untuk tabel tersebut.
-
35
• Second Normal Form (2NF)
2NF adalah suatu hubungan yang setiap atribut non-
primary key fungsional sepenuhnya tergantung pada primary key
(full functional dependency). Pada tahap ini ketergantungan
parsial sudah dihilangkan.
• Third Normal Form (3NF)
3NF adalah hubungan yang masih dalam bentuk normal
pertama dan kedua, dan di mana tidak ada atribut non primary key
yang tergantung secara transitif (Transitive Dependency) pada
primary key.
• Boyce-Codd Normal Form (BCNF)
Boyce-Codd Normal Form (BCNF) menghilangkan
anomali sisa dari dependensi fungsional. BCNF merupakan relasi
“jika dan hanya jika”, setiap determinan adalah kunci kandidat.
2.5 Security
Dalam pengembangan aplikasi berbasis web dengan menggunakan PHP
kerapkali kita menggunakan koneksi untuk menghubungkan database dengan
aplikasi web. Maka dari itu kita biasanya menerapkan security untuk digunakan
pada database dan aplikasinya.
-
36
2.5.1 Database Security (Pengamanan basis data)
Pengamanan basis data (Database Security) adalah mekanisme yang
melindungi basis data dari ancaman yang disengaja maupun yang tidak
disengaja.
Berikut ini adalah situasi-situasi yang berhubungan dengan keamanan
basis data :
• Pencurian dan penipuan (Theft And Fraud)
• Kehilangan Kerahasiaan (Lost of Confidentiality)
• Kehilangan keleluasaan (Lost of Privacy)
• Kehilangan Kualitas (Lost of Integrity)
• Kehilangan Ketersediaan (Lost Of Availabilty)
2.5.1.1 Threats (Ancaman)
Segala situasi atau kejadian, baik disengaja atau tidak
disengaja, yang dapat merugikan juga mempengaruhi sistem dan
organisasi sebagai sebabnya.
-
37
Table 2.1 Daftar Ancaman Pada Database
Contoh-contoh ancaman
Ancaman A B C D E
Akses
pengguna lain
Menduplikasi
data
Akses ilegal
oleh hacker
BlackMail
Membuat
‘Trapdoor’
dalam sistem
Kekurangan
staff
Pelatihan staff
yang tidak
memadai
-
38
Bencana Alam
Masuknya
Virus
Keterangan:
A: Pencurian dan penipuan (Theft And Fraud)
B: Kehilangan Kerahasiaan (Lost of Confidentiality)
C: Kehilangan keleluasaan (Lost of Privacy)
D: Kehilangan Kualitas (Lost of Integrity)
E: Kehilangan Ketersediaan (Lost Of Availabilty)
2.6 Internet
2.6.1 definisi internet
Definisi internet menurut ellsworth (1997,3), internet merupakan jaringan
besar yang dibentuk oleh interkoneksi jaringan komputer dan komputer tunggal
di seluruh dunia, lewat saluran telepon, satelit dan sistem komunikasi lainnya.
Menurut johnson(2004,4), internet terdiri dari jutaan komputer yang
terhubung bersama seperti jaring laba-laba yang besar.
2.7 website
2.7.1 definisi website
-
39
Menurut johnson(2004,13), website adalah informasi dalam
bentuk tulisan, grafik, audio, dan video yang di publikasikan di komputer
yang dapat dikunjungi melalui alamatnya yang unik dan di lihat
menggunakan web browser.
2.7.2 Teori aplikasi berbasis web
Menurut Adi Nugroho(2010,315) ,Aplikasi berbasis web adalah
aplikasi yang berjalan di berbagai browser web seperti internet explorer,
mozilla firefox, Opera,dan sebagainya.Dan biasanya aplikasi berbasis
web ini dijalankan dengan menggunakan database MySQL dan SQL
server. MySQL adalah database yang paling populer.
Seiring berjalannya waktu, aplikasi jenis ini berkembang dengan
cukup pesat terutama yang di kembangkan berbasis object oriented.
Aplikasi web yang berbasis objek diminati karena dapat mempermudah
manusia dengan menghilangkan halangan jarak dan waktu yang ada.
Yang sedang menjadi tren saat ini adala aplikasi web mobile yang
memudahkan manusia ketika sedang sibuk dan tidak memiliki waktu
untuk melakukan pembayaran contoh: internet banking, pembelian tiket
online, bahkan sampai dengan laporan keuangan berbasis web.
-
40
2.8 sistem informasi penjualan
2.8.1 Penjualan
Menurut Pederson(1988,8), penjualan adalah kegiatan
menjual barang/jasa untuk mendapatkan keuntungan.
Proses yang menyebabkan dan membantu konsumen yang
prospektif untuk membeli barang atau jasa atau bersikap menguntungkan
terhadap ide yang memiliki arti komersial untuk penjual (Mauser,
1977,8).
Kegiatan membujuk orang lain untuk melakukan sesuatu saat
tidak memiliki atau tidak dapat mendesakorang lain untuk memaksa
orang lain melakukannya(Russel,1978,3).
Menurut Pederson(1988,8), definisi penjualan yang lebih
menggambarkan keadaan yangterjadi adalah proses dimana penjual
mengetahui, mengaktifkan, dan memuaskan kebutuhan pembeli yang
menguntungkan dan memberikan keuntungan berkelanjutan antara
pembeli dan penjual.
2.8.2 Penjualan Kredit
Penjualan kredit adalah penjualan barang dagangan dengan
kesepakatan antara penjual dan pembeli pada saat transaksi yaitu
pembayaran akan dilakukan pada masa yang akan dating(wibowo dan
arif,2008,79)
-
41
2.9 Data Flow Diagram
Aliran data menurut whitten(,338), adalah data dalam pergerakan yang
menunjukkan proses input data ke proses atau output data atau informasi dari proses.
Diagram aliran data menggambarkan proses ini dengan menggunakan bentuk-
bentuk sederhana. Contoh DFD dapat dilhat pada gambar 2.12.
Gambar 2.12 DFD
Bentuk-bentuk yg digunakan dalam DFD adalah
Untuk menggambarkan aktor.
-
42
untuk menggambarkan proses.
Untuk menggambarkan aliran data yang berlangsung.