bab 2 landasan teori 2.1 teori umum 2.1.1 rekayasa piranti...
TRANSCRIPT
7
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Rekayasa Piranti Lunak
Menurut Pressman (2001, p20), Rekayasa Piranti Lunak merupakan
sebuah teknologi yang di bentangkan.
Gambar 2.1 : Software Engineering layers (Pressman, 2001, p21)
Banyak pendekatan keteknikan (termasuk Rekayasa Perangkat Lunak)
yang harus berada pada sebuah komitmen dasar menuju kualitas. Dalam
Rekayasa Perangkat Lunak mencakup tiga elemen kunci, antara lain
proses, metode, dan tools. Dan batu landasan yang menopang Rekayasa
Perangkat Lunak merupakan fokus kepada kualitas.
Fondasi untuk Rekayasa Perangkat Lunak merupakan bentangan
proses. Proses-proses Rekayasa perangkat lunak adalah perekat yang
menjaga bentangan teknologi secara bersama-sama dan memungkinkan
8
perkembangan sofrware komputer yang tepat waktu dan rasional. Proses-
proses tersebut membatasi kerangka kerja untuk serangkaian area proses
kunci yang harus dibangun demi keefektifan penyampaian teknologi
pengembangan software. Area proses kunci ini membentuk dasar bagi
kontrol manajemen proyek perangkat lunak serta membangun konteks di
mana metode teknis diaplikasikan, produk usaha (model, dokumen, data,
laporan, form, dan lain-lain) dihasilkan, fondasi dibangun, kualitas dijamin,
dan perubahan diatur secara rapih.
Metode Rekayasa Perangkat Lunak menyediakan cara “bagaimana”
secara teknis membangun software. Metode–metode itu menyangkut
serangkaian tugas yang luas, meliputi :
a. Analisa Kebutuhan
b. Konstruksi Program
c. Desain
d. Pengujian
e. Pemeliharaan
Pada metode software engineering mengandalkan pada serangkaian
prinsip dasar yang mengatur setiap area teknologi dan menyangkut
aktivitas pemodelan serta teknik-teknik deskriptif yang lain.
Alat bantu (tool) dapat menyediakan pendukung otomatisasi atau semi
otomatisasi untuk metode. Ketika tool sudah terintegrasi, maka akan
membentuk informasi, yaitu yang akan digunakan pada bagian lainnya.
Suatu sistem untuk menunjang perkembangan software disebut CASE
9
(Computer Aided Software Engineering). CASE mengkombinasikan
software, hardware, dan software engineering database, yaitu struktur data
yang berisi tentang informasi penting pada analisis, desain, pengkodean
dan testing, sehingga dapat membentuk lingkungan software engineering
yang analog dengan CAD/CAE (Computer-aided design / engineering)
untuk hardware.
Dengan adanya proses, metode, dan tool, maka rekayasa piranti lunak
dapat mengatasi segala krisis pada software sehingga dapat menyelesaikan
segala aspek kesulitan pada software.
2.1.2 Software Process Model
Menurut Pressman (2001, p26) process model merupakan gabungan
antara strategi pengembangan yang melingkupi lapisan proses, metode, dan
tools serta fase-fase generik yang meliputi Fase definisi, Fase
pengembangan, dan Fase pemeliharaan.
Salah satu model yang biasa digunakan adalah Model Sekuensial
Linier, yang sering juga disebut Classic Life Cycle atau waterfal model.
Gambar 2.2 : The Linear Sequential model (Pressman, 2001, p29)
10
Model Sekuensial Linier melingkupi aktifitas sebagai berikut:
a. Rekayasa dan Pemodelan Sistem/ Informasi
Karena software merupakan bagian dari sebuah sistem (bisnis)
yang lebih besar, kerja dimulai dengan membangun syarat dari semua
elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke
software tersebut. Rekayasa dan analisis sistem menyangkut
pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil
analisis serta desain tingkat puncak.
b. Analisis Kebutuhan Software
Proses pengumpulan kebutuhan diintensifkan dan difokuskan,
khususnya pada perangkat lunak. Untuk memahami sifat program yang
dibangun, perekayasa perangkat lunak (analis) harus memahami
domain informasi, tingkah laku, unjuk kerja, dan antar muka yang
diperlukan.
c. Desain
Proses multi langkah yang berfokus pada empat atribut sebuah
program yang berbeda, yaitu struktur data, arsitektur software,
representasi interface, algoritma prosedural. Pada desain, prinsipnya
adalah mengubah kebutuhan menjadi software yang layak dari segi
kualitas sebelum proses pengkodean.
d. Pengkodean
Proses pengkodean yaitu mengubah desain ke dalam bentuk yang
dapat dibaca oleh mesin.
11
e. Pengetesan
Proses yang memastikan semua kalimat dalam program telah
dilakukan pengetesan sehingga memberikan input sesuai dengan yang
diinginkan.
f. Pemeliharaan
Software akan mengalami perubahan setelah dikirim ke pengguna.
Perubahan akan terjadi karena ada kesalahan-kesalahan atau karena
pengguna membutuhkan pengembangan fungsional. Maka proses
pemeliharaan dilakukan dengan menerapkan setiap langkah dasar
hidup sebelumnya disertai dengan perbaikan.
2.1.3 Pengertian Database
Menurut Thomas Connoly dan Carolyn Begg (2005, p15) Database
adalah suatu kumpulan logikal data yang terhubung satu sama lain, dan
deskripsi dari suatu data yang di rancang sebagai informasi yang
dibutuhkan oleh organisasi.
2.1.4 Database Management System
Menurut Thomas Connoly dan Carolyn Begg (2005, p16) . DBMS
(Database Management System) adalah suatu sistem perangkat lunak
(software) yang memungkinkan user untuk mendefinisikan, membuat, dan
memelihara basis data dan menyediakan akses kontrol terhadap basis data.
DBMS memberikan beberapa fasilitas, yaitu:
a. DDL (Data Definition Language ), DDL memberikan fasilitas kepada
user untuk menspesifikasikan tipe data dan strukturnya serta batasan
12
aturan mengenai data yang bisa di simpan ke dalam basis data
tersebut.
b. DML (Data Manipulation Language) DML memberikan fasilitas
kepada user untuk menambah , mengedit, menghapus, serta
memperoleh kembali data.
c. Query Language, Query Language memberikan fasilitas kepada user
untuk mengakses data. Structured Query Language (SQL) merupakan
bahasa query yang paling di akui dan secara de facto merupakan
standard bagi DBMS.
d. Pengendalian akses kedalam basis data, meliputi :
- Keamanan Sistem : mencegah user untuk tidak memiliki hak akses
masuk ke dalam basis data .
- Integritas Sistem : menjaga konsistensi data di dalam basis data .
- Pengendalian share data .
- Backup dan Recovery System : Mengembalikan data kedalam
kondisi semula apabila terjadi kegagalan pada perangkat keras
ataupun perangkat lunak.
- Terdapat katalog yang dapat di akses oleh user yang berisi
deskripsi data dalam basis data.
e. Mekanisme View, berfungsi untuk menampilkan data yang hanya
diinginkan dan di perlukan user.
13
2.1.4.1 Komponen DBMS
DBMS memiliki beberapa komponen – komponen utama,
antara lain adalah :
a. Hardware , mencakup mini computer, network computer,
personal computer, dan mainframe.
b. Software, mencakup application software, DBMS software,
Operation System, dan Software jaringan jika di perlukan .
c. Data, merupakan komponen terpenting yang
menghubungkan antara komponen mesin (Software dan
Hardware) serta komponen manusia (procedure dan
people).
d. Procedures, merupakan instruksi dan aturan-aturan yang
harus ada dalan desain dan penggunaan basis data .
e. People, merupakan komponen yang juga terlibat dengan
system yang meliputi :
- Data Administrator (DA), mengatur sumber daya data
yang meliputi : perancangan basis data, pengembangan
dan pemeliharaan standar, kebijakan, prosedur, dan
desain basis data konseptual dan logikal .
- Database Administrator (DBA), mengatur realisasi fisik
dari aplikasi database yang meliputi desain fisik basis
data, implementasi, pengaturan keamanan dan kontrol
14
integritas, pengawasan performa system dan pengaturan
ulang basis data.
- Desainer basis data logikal dan fisikal.
- Programmer aplikasi
- End user.
• Naïve : user yang tidak tahu mengenai basis data dan
DBMS, dan hanya menggunakan aplikasinya saja.
• Sophisticated : user yang terbiasa dengan struktur
basis data dan DBMS.
2.1.4.2 Fungsi DBMS
Menurut Thomas Connoly dan Carolyn Begg (2005, p48),
DBMS memiliki sepuluh fungsi, yaitu :
a. Data storage, retrieval and update
DBMS harus dapat memungkinkan user untuk menyimpan,
mengambil dan mengubah data di dalam basis data.
b. A user-accessible catalog
DBMS harus memiliki katalog yang berisikan deskripsi data
item dan dapat di akses oleh user.
c. Transaction support
DBMS harus memiliki sebuah mekanisme yang menjamin
baik seluruh perubahan yang berhubungan dengan sebuah
transaksi, dapat di lakukan ataupun tidak dapat dilakukan.
d. Concurrency control service
15
DBMS harus memiliki sebuah mekanisme untuk menjamin
database dapat di-update ketika banyak user yang meng-
update database secara bersamaan.
e. Recovery service
DBMS harus memiliki sebuah mekanisme untuk pemulihan
basis data apabila terjadi kesalahan.
f. Authorization service
DBMS harus memiliki mekanisme yang menjamin bahwa
hanya user yang memiliki otoritas yang dapat mengakses
basis data.
g. Support for data communication
DBMS harus dapat terintegrasi dengan piranti lunak
komunikasi dan mendapat akses basis data dari lokasi yang
jauh.
h. Intergrity Service
DBMS diharuskan memiliki sarana yang menjamin data
didalam database maupun perubahan terhadap data dan
mengikuti aturan – aturan tertentu.
i. Services to promote data independent
DBMS harus menyertakan fasilitas – fasilitas untuk
nendukung ketidaktergantungan piranti lunak terhadap
structural actual dari basis data.
j. Utility service
16
DBMS harus menyediakan serangkai layanan seperti
program analisis statistic, pengawasan fasilitas, fasilitas
reogranisasi indeks dan lain – lain.
2.1.4.3 Keuntungan dan Kerugian DBMS
Menurut Thomas Connoly dan Carolyn Begg (2005, p26),
penggunaan DBMS memiliki keuntungan dan kerugian.
Keuntungannya antara lain:
a. Kontrol terhadap redudansi data
b. Data yang konsisten
c. Semakin banyak informasi yang didapat dari data yang sama
d. Membagikan data (sharing of data)
e. Menambah integritas data
f. Menambah keamanan data
g. Penetapan standarisasi
h. Menyeimbangkan konflik kebutuhan
i. Memperbaiki pengaksesan data dan hasilnya
j. Menambah produktifitas
k. Memperbaiki pemeliharaan data dan melalui data
independence
l. Meningkatkan concurrency
Adapun kerugian DBMS antara lain :
a. Kompleksitas
b. Ukuran besar
17
c. Biaya dari suatu DBMS
d. Biaya penambahan perangkat keras
2.1.5 Siklus Database
Menurut Thomas Connoly dan Carolyn Begg (2005, p284), waktu
basis data dianalisis dan di rancang berdasarkan siklus hidup seperti pada
gambar berikut :
Gambar 2.3 : The Stages of the Database Application Lifecycle (Connoly, 2005, p284)
18
2.1.5.1 Database Planning
Database Planning atau perencanaan basis data merupakan
aktivitas manajemen untuk merealisasikan tahapan Database
Application Lifecycle secara efektif dan efisien. Perencanaan
basis data mencakup cara pengumpulan data, format data,
dokumentasi yang diperlukan, cara membuat desain, dan
implementasi.
2.1.5.2 System Definition
System Definition atau definisi sistem bertujuan untuk
mendeskripsikan batasan dan ruang lingkup aplikasi basis data
serta sudut pandang user yang utama.
2.1.5.3 Requirement Collection and Analysis
Requirement Collection and Anaylsis atau analisis dan
pengumpulan kebutuhan merupakan proses mengumpulkan dan
meenganalisis informasi tentang organisasi yang akan didukung
oleh aplikasi basis data dan menggunakan informasi tersebut
untuk mengidentifikasikan kebutuhan user terhadap sistem yang
baru.
2.1.5.4 Database Design
Database Design atau desain basis data adalah proses
membuat desain yang akan mendukung operasional dan tujuan
perusahaan.
Ada tiga fase dalam membuat desain basis data, yaitu :
19
a. Conseptual Database Design
Merupakan suatu proses pembentukan model yang
berasal dari informasi yang digunakan dalam perusahaan
yang bersifat independen dari keseluruhan aspek fisik.
b. Logical Database Design
Merupakan suatu proses pembentukan model yang
berasal dari informasi yang digunakan dalam perusahaan
yang berdasarkan model data tertentu, namun independen
terhadap DBMS tertentu dan aspek fisik lainnya, misalnya
relasional.
c. Physical Database Design
Merupakan proses yang menghasilkan deskripsi
impelementasi basis data pada penyimpanan sekunder.
2.1.5.5 DBMS Selection
Seleksi DBMS adalah kegiatan memilih DBMS yang akan
digunakan dalam pembuatan basis data. Pemilihan DBMS yang
tepat sangat mendukung aplikasi basis data.
Langkah utama dalam pemilihan DBMS meliputi :
- Definisikan waktu untuk melakukan studi referensi.
- Catat dua atau tiga produk yang akan dievaluasi untuk
digunakan.
- Evaluasi produk tersebut
20
- Rekomendasikan produk yang dipilih dan buat laporan yang
mendukungnya.
2.1.5.6 Application Design
Desain Aplikasi merupakan perancangan user interface dan
program aplikasi yang menggunakan dan melakukan proses
terhadap basis data.
2.1.5.7 Prototyping (optional)
Prototyping berfungsi untuk membuat model kerja suatu
aplikasi basis data. Tujuan utama tahapan ini adalah :
- Untuk mengidentifikasi fitur sistem yang sedang berjalan.
- Untuk memberikan perbaikan atau penambahan fitur baru.
- Untuk klarifikasi kebutuhan user.
- Untuk evaluasi kelayakan dan kemungkinan apa yang terjadi
dari desain sistem.
2.1.5.8 Implementation
Implementasi merupakan realisasi fisik dari basis data dan
desain aplikasi. Implementasi basis data dicapai dengan
menggunakan :
- DDL untuk membuat skema basis data dan database file
yang kosong
- DDL untuk membuat user view yang diinginkan
21
- 3GL atau 4GL untuk membuat program aplikasi. Termasuk
transaksi basis data yang menggunakan DML atau
ditambahkan pada bahasa pemograman.
2.1.5.9 Data Converting and Loading
Data Converting and Loading merupakan tahap pemindahan
data yang baru dan mengkonversikan aplikasi yang ada agar
dapat menggunakan basis data yang baru. Tahapan ini
dibutuhkan ketika sistem basis data baru menggantikan yang
lama.
2.1.5.10 Testing
Testing adalah suatu proses eksekusi program aplikasi
dengan tujuan untuk menemukan kesalahan dengan skenario tes
yang direncanakan dan data yang sesungguhnya. Pengujian
hanya akan terlihat jika terjadi kesalahan pada software.
2.1.5.11 Operational Maintenance
Operational maintenance merupakan suatu proses
pengawasan dan pemeliharaan sistem setelah instalasi,
mencakup:
- Pengawasan kinerja sistem. Jika kinerja menurun,
diperlukan perbaikan atau pengaturan ulang basis data.
- Pemeliharaan dan pembaharuan aplikasi basis data jika
dibutuhkan
- Penggabungan kebutuhan baru ke dalam aplikasi basis data.
22
2.1.6 Tahap-tahap Perancangan Basis Data
2.1.6.1 Perancangan Database Konseptual
Langkah awal dalam basis data konseptual adalah dengan
membuat model data dari informasi – informasi mengenai
perusahaan. Data yang ada di kembang dengan representasi
konseptual yang mencakup mengidentifikasi entity, relationship,
dan atribut yang secara keseluruhan bebas dari detail
implementasi seperti DBMS yang digunakan, program aplikasi,
bahasa pemrograman, platform untuk hardware , tingkat kinerja,
maupun pertimbangan fisik lainnya .
Langkah – langkah dalam membuat model data konseptual :
a. Mengidentifikasi tipe – tipe dari entitas.
Langkah pertama dalam membangun suatu model data
local konseptual adalah untuk mengidentifikasi objek utama
dimana user memang membutuhkannya. Salah satu metode
untuk mengidentifikasi tipe entitas adalah dengan
mengidentifikasi kata benda atau frase kata benda yang telah
disebutkan oleh pengguna.
b. Mengidentifikasi tipe – tipe dari relationship
Pada tahap ini dilakukan identifikasi relasi yang penting
antara berbagai tipe entitas yang telah diidentifikasikan.
Relasi diidentifikasikan dengan menggunakan kata kerja
atau frase kata kerja. Namun harus diperhatikan relasi yang
23
kompleks yang melibatkan lebih dari dua entitas dan relasi
recursive yang hanya melibatkan satu entitas.
c. Mengidentifikasikan dan menghubungkan atribut dengan
tipe – tipe entitas atau relationship.
Pada langkah ini, atribut dengan entitas atau tipe relasi
yang paling sesuai saling dihubungkan.
d. Menentukan domain dari atribut.
Definisi Domain adalah penampung dari nilai yang
dapat di tampung oleh atribut. Tujuan dari langkah ini
adalah untuk menentukan domain dari atribut yang ada
dalam model data lokal konseptual.
e. Menentukan atribut – atribut, candidate key, dan primary
key.
Tujuan dari langkah ini adalah untuk
mengidentifikasikan candidate key dari setiap tipe entitas.
Jika terdapat lebih dari satu candidate key, pilih salah satu
satunya primary key. Acuan dalam memilih suatu primary
key di antara banyak candidate key, antara lain:
- Merupakan candidate key dengan jumlah paling sedikit.
- Merupakan candidate key yang nilainya jarang sekali
berubah.
- Merupakan candidate key dengan jumlah karakter paling
sedikit.
24
- Merupakan candidate key dengan jumlah paling sedikit
dari nilai maksimumnya (untuk tipe atribut yang tipe
numerik).
- Merupakan candidate key yang paling mudah di gunakan
dari sudut pandang pengguna.
f. Pertimbangkan pengguna konsep enchanced modeling
(optional step)
Langkah ini mempunya sifat optional (pilihan), kota
dapat mempertimbangkan untuk menggunakan enchanced
modeling, seperti specialization, generalization,
aggregation, dan composition.
g. Periksa model dan redudancy.
Tujuan dari langkah ini adalah untuk mengecek ada atau
tidaknya redudansi dalam model basis data. Apabila
ditemukan adanya redudansi maka redudansi dapat
dihilangkan dengan dua langkah berikut :
- Menguji kembali hubungan one-to-one.
- Menghilangkan relasi redudansi.
h. Memvalidasi model konseptual lokal terhadap transasksi
pengguna.
Tujuan dari langkah ini adalah untuk memeriksa apakah
model konseptual mendukung transaksi yang dibutuhkan.
25
Pemerikasaan dapat dilakukan dengan menggunakan dua
pendekatan, antara lain :
- Mendeskripsikan transaksi.
- Menggunakan alur transaksi.
i. Melihat kembali data model konseptual lokal dengan
pengguna.
Pada langkah ini dilakukan peninjauan ulang terhadap
model data konseptual termasuk ER bersama pengguna
untuk memastikan bahwa model yang ada sesusai dengan
yang diminta. Jika terjadi perubahan (anomaly), maka harus
dilakukan perubahan
2.1.6.2 Perancangan Database Logikal
Perancangan Logikal Basis Data (Logical Database Design)
adalah proses membangun sebuah model dari data yang digunakan
dalam perusahaan berdasarkan pada model data yang spesifik
tetapi terbebas dari DBMS dan dari semua pertimbangan fisikal.
Adapun tahap-tahapannya adalah sebagai berikut :
a. Menurunkan relasi untuk model data logikal
Pada tahap ini, kita menurunkan relasi dari model data
logikal untuk merepresentasikan entitas, relasi dan atribut.
Penurunan relasi yang dilakukan mungkin juga terdapat pada
model data konseptual, yaitu :
1) Entitas kuat
26
Untuk setiap entitas kuat di dalam model data,
buatlah sebuah relasi termasuk semua atribut sederhana
dari setiap entitas.
2) Entitas lemah
Untuk setiap entitas lemah di dalam model data,
buatlah sebuah relasi termasuk semua atribut sederhana
dari setiap entitas. Primary key dari sebuah entitas lemah
adalah sebuah bagian atau penurunan penuh dari setiap
pemilik entitas sehingga pengenalan dari primary key dari
entitas lemah tidak dapat dilakukan sampai semua relasi
dari pemilik entitas telah dipetakan.
3) Relasi binary one-to-many
Untuk setiap relasi binary one-to-many, entitas yang
bersifat one dirancang sebagai entitas parent dan entitas
yang bersifat many dirancang sebagai entitas child.
4) Relasi binary one-to-one
Dalam membuat relasi yang merepresentasikan relasi
one-to-one lebih kompleks secara kardinalitas tidak dapat
digunakan untuk mengidentifikasi entitas parent dan
entitas child di dalam relasi tersebut.
5) Relasi rekursif binary one-to-one
Sama seperti relasi binary one-to-one, setiap relasi
rekursif one-to-one, tidak dapat digunakan untuk
27
mengidentifikasi entitas parent dan entitas child di dalam
relasi tersebut.
6) Relasi superclass / subclass
Untuk setiap relasi superclass / subclass di dalam
model data konseptual, entitas superclass
diidentifikasikan sebagai entitas parent dan entitas
subclass sebagai entitas child.
7) Relasi binary many-to-many
Untuk setiap relasi binary many-to-many dibuat
relasi yang merepresentasikan hubungan dan termasuk
atribut mana pun yang merupakan bagian dari hubungan
tersebut.
Atribut-atribut yang berupa primary key dari entitas
yang berpartisipasi dalam hubungan ke dalam relasi baru
harus dianggap juga sebagai foreign key. Salah satu dari
kedua foreign key ini juga akan berupa primary key dari
relasi yang baru, dan kemungkinan akan bergabung
dengan satu atau lebih atribut.
8) Relasi kompleks
Untuk setiap relasi kompleks, dibuat relasi yang
merepresentasikan relasi dan termasuk semua atribut
yang merupakan bagian dari hubungan tersebut. Atribut-
atribut yang berupa primary key dari entitas yang
28
berpartisipasi dalam hubungan ke dalam relasi baru harus
dianggap juga sebagai foreign key.
Foreign key manapun yang merepresentasikan many
dalam hubungan tersebut, secara umum juga akan
berperan sebagai primary key dari relasi baru tersebut,
dan kemungkinan akan bergabung dengan beberapa
atribut lain.
9) Atribut multi-valued
Untuk setiap atribut multi-valued di dalam sebuah
entitas, buatlah sebuah relasi baru yang
merepresentasikan atribut multi-valued dan termasuk
primary key-nya ke dalam relasi baru, juga harus
dianggap sebagai foreign key.
Terkecuali jika atribut multi-valued sendiri itulah
alternate key dari entitas, maka primary key dari relasi
yang baru adalah gabungan dari atribut multi-valued dan
primary key dari entitas tersebut.
b. Memvalidasi relasi dengan menggunakan normalisasi
Proses dari normalisasi melibatkan relasi melalui
beberapa langkah pemeriksaan apakah komposisi atributnya
sesuai dengan peraturan bentuk normal. Proses penurunan
relasi dari model data konseptual seharusnya sudah
memproduksi relasi yang ada pada 3NF. Namun, jika ternyata
29
teridentifikasi adanya relasi yang tidak ditemukan di 3NF,
dapat diindikasikan bahwa ada beberapa bagian dari model
data logikal ataupun konseptual yang salah.
Jika diperlukan, perlu dilakukan restrukturisasi ulang
terhadap relasi yang menjadi masalah dan pada model data
untuk menjamin representasi yang tepat terhadap kebutuhan
data dari perusahaan.
c. Memvalidasi relasi terhadap transaksi pengguna
Tujuan dari tahap ini adalah memvalidasi model data
logikal untuk menjamin bahwa model dapat membantu pada
transaksi-transaksi yang diperlukan. Jika semua transaksi
dapat berjalan sampai selesai dengan menggunakan model
yang sudah dibuat, maka dapat dipastikan model yang sudah
dibuat dapat membantu transaksi yang ada pada perusahaan.
Namun, jika terdapat transaksi yang tidak berjalan hingga
selesai, maka harus dilakukan pengecekan kembali pada
entitas, hubungan maupun atribut yang ada pada model data.
d. Memeriksa integrity constraints
Integrity constraints adalah constraints yang diharapkan
dapat menentukan dan menjaga basis data menjadi tidak
lengkap, tidak akurat dan tidak konsisten. Beberapa jenis
integrity constraints yang dipertimbangkan adalah sebagai
berikut :
30
1) Data yang diperlukan
2) Atribut domain constraints
3) Multiplicity
4) Entity integrity
5) Referential integrity
6) Constraints umum
e. Meninjau kembali model data logikal dengan pengguna
Model data logikal sudah lengkap dan didokumentasikan.
Namun pengguna diminta untuk meninjau kembali model
data logikal untuk menjamin bahwa model data logikal sudah
sesuai dengan representasi yang diinginkan oleh perusahaan.
Jika pengguna tidak puas dengan model yang diberikan, maka
tahap-tahap sebelumnya mungkin perlu diulang kembali.
Namun jika pengguna puas dengan model yang
diberikan, maka tahap selanjutnya adalah tergantung berapa
jumlah pengguna yang akan berasosiasi dengan basis data,
dan bagaimana basis data tersebut akan diatur.
f. Mengubah model data logikal ke dalam model global
(opsional)
Tahap ini diperlukan untuk perancangan basis data
dengan multiple user views yang diatur dengan pendekatan
view integration. Sebuah model data logikal lokal
merepresentasikan satu atau lebih views dari basis data,
31
namun tidak semua views, sedangkan model data logikal
global merepresentasikan semua user views dari basis data.
Sehingga dalam tahap ini, bisa dilakukan penggabungan
dua atau lebih model data logikal lokal menjadi sebuah model
data logikal global.
g. Memeriksa untuk pertumbuhan di masa depan
Perancangan logikal basis data diakhiri dengan apakah
model data logikal mampu diperluas untuk membantu adanya
perkembangan di masa depan. Jika model hanya dapat
menopang kebutuhan saat ini, maka hidup dari model tersebut
relatif pendek dan pengerjaan kembali dari model
kemungkinan diperlukan untuk menampung kebutuhan baru.
Penting untuk mengembangkan model yang dapat
diperluas dan mempunyai kemampuan untuk berevolusi agar
dapat menyangga kebutuhan-kebutuhan baru dengan efek
samping minimal dengan pengguna saat ini. Akan tetapi,
perlu atau tidaknya sebuah model diperiksa atau diubah untuk
dapat dipakai masa depan juga tidak lepas dari permintaan
pengguna.
2.1.6.3 Perancangan Database Fisikal
Perancangan Fisikal Basis Data (Physical Database Design)
adalah proses menghasilkan deskripsi dari implementasi basis data
pada penyimpanan sekunder. Desain ini menjelaskan hubungan
32
dasar, organisasi file, dan beberapa indeks yang digunakan untuk
mencapai pengaksesan data yang efisien dan batasan-batasan
integrasi serta tindakan keamanan.
Adapun tahap-tahapannya adalah sebagai berikut :
a. Menterjemahkan model data logikal ke target DBMS
Aktivitas pertama dalam perancangan fisikal basis data
adalah melibatkan penerjemahan relasi dalam model data
logikal ke dalam bentuk yang dapat diimplementasikan ke
target DMBS. Tahap-tahapannya meliputi :
1) Perancangan relasi dasar
Untuk memulai proses perancangan fisikal, yang
utama dilakukan adalah menyatukan dan memahami
informasi mengenai relasi yang dihasilkan dari
perancangan logikal basis data. Informasi yang
diperlukan dapat didapat dari kamus data dan definisi
masing-masing relasi yang dideskripsikan dengan
menggunakan Database Design Language (DBDL).
Untuk merepresentasikan rancangan dari relasi
dasar, dapat digunakan DBDL untuk mendefinisikan
domains, nilai default dan indikator null.
2) Perancangan representasi dari data derived
Atribut yang nilainya dapat ditemukan dengan
menguji nilai dari atribut lain dinamakan atribut derived
33
atau calculated. Tujuan dari tahap ini adalah agar dapat
menentukan bagaimana sebuah data derived dapat
direpresentasikan yang ada di model data di dalam
target DBMS.
3) Perancangan constraints umum
Updates terhadap relasi bisa dianggap dibatasi
oleh integrity constraints, yang memimpin “dunia
nyata” transaksi yang direpresentasikan oleh updates.
Integrity constraints terdiri dari data yang diperlukan,
domain constraints dan entitas dan referential integrity.
Tujuan dari tahap ini adalah merancang constraints
umum untuk target DBMS.
b. Perancangan indeks dan organisasi file
Tujuannya adalah untuk menentukan organisasi file
yang optimal untuk menyimpan relasi dasar dan indeks-
indeks yang diperlukan agar mencapai performa yang dapat
diterima, yang dimana, cara relasi dan tuples akan disimpan
di penyimpanan sekunder. Aktivitas pada tahap ini dibagi
menjadi beberapa, yaitu :
1) Menganalisis transaksi
Agar perancangan fisikal basis data berjalan efektif,
diperlukan pengetahuan mengenai transaksi atau query
yang akan dijalankan di dalam basis data. Hal ini
34
mencakup baik informasi kualitatif maupun informasi
kuantitatif. Kriteria performa transaksi yang dianalisis
adalah seperti berikut ini :
• Transaksi yang sering berjalan dan akan memiliki
pengaruh yang signifikan terhadap performa.
• Transaksi yang kritikal terhadap operasi bisnis.
• Waktu-waktu tertentu, baik tiap hari maupun tiap
minggu, dimana akan ada permintaan yang tinggi
yang dihadapi oleh basis data.
2) Memilih organisasi file
Salah satu tujuan utama dalam perancangan fisikal
basis data adalah untuk menyimpan dan mengakses data
dengan cara yang efisien. Pemilihan organisasi file
dapat dikategorikan ke dalam tipe-tipe file :
• Heap
• Hash
• Indexed Sequential Access Method (ISAM)
• B*-tree
• Clusters
Jika target DMBS tidak memperbolehkan adanya
pemilihan organisasi file, maka tahap ini dapat
dihilangkan.
35
3) Memilih indeks
Salah satu pendekatan dalam memilih organisasi
file yang tepat untuk sebuah relasi adalah menjaga
unordered tuples dan membuat sebanyak mungkin
indeks sekunder jika diperlukan. Pendekatan lainnya
adalah dengan menentukan sebuah indeks primary atau
clustering.
4) Mengestimasi kebutuhan disk space
Ada saat dimana konfigurasi hardware menjadi
syarat dalam pengimplementasian basis data fisikal.
Walaupun itu bukan masalah utama, perancang tetap
harus memperkirakan jumlah disk space yang akan
dipakai untuk menyimpan basis data, jika terdapat
hardware baru.
c. Perancangan tampilan untuk pengguna
Tahap pertama dari metodologi perancangan basis data
melibatkan hasil produksi dari model data konseptual baik
untuk single-user view maupun beberapa gabungan user
view yang diidentifikasikan selama pengumpulan kebutuhan
dan tahap analisis. Tujuan utama dari tahap ini adalah untuk
merancang user view yang diidentifikasikan di tahap
perancangan sebelumnya.
36
d. Perancangan mekanisme keamanan
Sebuah basis data merupakan sumber daya penting bagi
perusahaan sehingga keamanan sangatlah penting. Tujuan
utama dari tahap ini adalah untuk merancang mekanisme
keamanan untuk basis data sebagaimana telah ditetapkan
oleh pengguna selama tahap pengumpulan kebutuhan dari
siklus hidup sistem basis data. DBMS menyediakan dua
jenis keamanan basis data yaitu keamanan sistem dan
keamanan data.
Keamanan sistem melindungi akses dan penggunaan
basis data pada tingkat sistem, seperti username dan
password. Keamanan data melindungi akses dan
penggunaan objek basis data, seperti relasi dan views, dan
aksi yang dapat dilakukan pengguna terhadap objek-objek
tersebut. Perancangan hak akses pun tergantung dari target
DBMS, beberapa sistem menyediakan fasilitas lebih dari
yang lain untuk merancang hak akses.
e. Pertimbangan kembali dengan redundansi yang sudah
terkontrol
Normalisasi adalah sebuah teknik untuk menentukan
atribut mana yang sesuai dengan relasinya. Perancangan
basis data logikal adalah hasil dari normalisasi yang sudah
37
terstruktur secara konsisten dan mempunyai redundansi
yang minimal.
Namun, terkadang menormalisasikan basis data tidak
menyediakan pemrosesan yang efisien dan maksimum.
Secara formal, denormalisasi berhubungan dengan
perbaikan skema relasi. Dalam beberapa hal, denormalisasi
dipakai secara spesifik untuk meningkatkan kecepatan
proses atau transaksi yang kritikal, yaitu dengan cara :
1) Menggabungkan relasi one-to-one
2) Menduplikasikan atribut non-key di dalam relasi one-
to-many untuk mengurangi joins
3) Menduplikasikan atribut foreign key di dalam relasi
one-to-many untuk mengurangi joins
4) Menduplikasikan atribut di dalam relasi many-to-many
untuk mengurangi joins
5) Memperkenalkan repeating groups
6) Membuat tabel extract
7) Mempartisi relasi
f. Memantau dan menyesuaikan sistem operasional
Tujuan utama dari tahap ini adalah untuk memantau
sistem yang beroperasional dan meningkatkan performa dari
sistem untuk memperbaiki rancangan yang tidak tepat
38
terhadap keputusan ataupun perubahan kebutuhan. Ada
beberapa faktor yang digunakan untuk mengukur efisiensi :
1) Transaction Throughput
2) Response Time
3) Disk Storage
Untuk meningkatkan efisiensi basis data, beberapa
DBMS menyediakan fasilitas bagi Database Administrator
(DBA) untuk melakukan tuning, berikut beberapa
keuntungan dari tuning :
1) Tuning dapat menghindari penambahan hardware.
2) Dapat menurunkan konfigurasi hardware, sehingga
lebih murah dan menghindari maintenance pada
hardware.
3) Sebuah sistem yang sering di-tuning menghasilkan
response time lebih cepat dan throughput lebih baik,
yang membuat pengguna lebih produktif.
4) Meningkatkan response times membuat moral
karyawan juga tinggi.
2.1.7 Teori ERD
Entity Relationship Diagram (ERD) adalah ilustrasi dari entitas –
entitas dalam bisnis dan relationship antar entitas.ERD memisahkan antara
informasi yang dibutuhkan dalam bisnis dari aktivitas – aktivitas yang
39
dilakukan dalam bisnis. Jadi, meskipun terjadi perubahan proses bisnis,
jenis informasi hamper tetap konstan. Oleh karena itu, struktur data juga
hampir tidak berubah.
Tujuan utama dari penggambaran ERD adalah untuk menunjukkan
struktur objek data (entity) dan hubungan (relationship) yang ada pada
objek tersebut. ERD berguna bagi professional sistem, karena ERD
memperlihatkan hubungan antara data store pada Data Flow Diagram
(DFD). Terdapat lima macam konstruksi utama ERD, yaitu :
- Entity
- Atribut
- Relationship
- Key
- Kardinalitas
a. Entity
Entity atau entitas adalah konsep dasar dalam pemodelan basis
data berupa individu yang mewakili sesuatu yang nyata dan dapat
dibedakan dari sesuatu yang lain. Sebagai contohnya adalah supplier,
barang, kategori, dan lain – lain. Entitas memiliki himpunan entitas
sejenis dan berada dalam lingkup yang sama.
b. Atribut
Karakteristik suatu entitas yang mendeskripsikan suatu
entitas.Atribut dapat juga disebut sebagai karakteristik atau properti
dari entitas yang menyediakan penjelasan detail tentang entitas
40
tersebut. Sebagai contoh, supplier memiliki atribut berupa identitas
seperti : id_supplier, nama_supplier, alamat dan karakteristik lain yang
dapat mewakili identitas supplier. Setiap atribut bisa bersifat wajib
(harus diisi, not null) dan bisa pula opsional.
1) Atribut sederhana dan Komposit
Jika diambil dari contoh atribut sebelumnya, yang dapat
di kategorikan sebagai atribut sederhana adalah id_supplier,
nama_supplier, alamat dan no_telp. Sedangkan atribut
komposit terdiri dari beberapa atribut sederhana (bisa dipahami
secara hirarki). Misalnya, atribut alamat, yang bisa dibagi
menjadi jalan, kota , dan kode _pos.
2) Atribut Bernilai Tunggal (single-valued) dan Bernilai Ganda
(multivalued)
Bernilai tunggal artinya hanya memiliki satu nilai data.
Misalnya, atribut nama_supplier untuk satu supplier hanya
terdiri dari satu nama saja untuk satu entitas. Sedangkan atribut
ganda memiliki lebih dari satu nilai data.
3) Atribut Bernilai Null
Jika sebuah baris tidak memilki nilai (data) pada kolom
tertentu, maka nilai kolom tersebut dinamakan null. Null adalah
nilai yang sangat unik dalam basis data.
41
4) Atribut Turunan
Nilai atribut ini diturunkan dari atribut lain. Biasanya
berlaku untuk perhitungan selisih yang di butuhkan oleh satu
atribut, dan perhitungannya tersebut tergantung dari atribut lain
yang berkaitan dengan atribut yang bersangkutan.
c. Relationship
Relasi menunjukkan adanya hubungan diantara sejumlah entitas
yang berasal dari himpunan entitas yang berbeda.Relationship tidak
mempunyai keberadaan fisik kecuali yang mewarisi dari hubungan
entitas tersebut.
d. Key
Setiap entity biasanya memiliki sebuah atribut yang nilainya
berbeda untuk masing – masing individu dalam entity. Oleh karena itu,
dua nilai yang sama untuk atribut kunci tersebut tidak dibolehkan.
e. Kardinalitas
Pemetaan kardinalitas (mapping cardinalities) atau rasio
kardinalitas menspesfikasikan jumlah kejadian relationship dimana
sebuah entity dapat berpartisipasi .
Ada empat macam rasio kardinalitas, yaitu:
1) One to one (1:1)
2) One to many (1:N)
3) Many to one (N:1)
4) Many to many (N:M)
42
2.1.8 Data Flow Diagram
Data Flow Diagram (DFD) adalah sebuah alat yang menggambarkan
aliran data sampai sebuat sistem selesai, dan kerja atau proses dilakukan
dalam sistem tersebut. Istilah dalam bahasa Indonesianya adalah diagram
aliran data. Dalam DFD terdapat empat komponen utama, yaitu :
a. External Agents
Agen eksternal mendefinisikan orang atau sebuah unit organisasi,
sistem lain, atau organisasi yang berada di luar sistem proyek tapi dapat
mempengaruhi kerja sistem.
b. Proses
Proses adalah penyelenggaraan kerja atau jawaban, datangnya aliran
data atau kondisinya.
c. Data Stores
Data Stores adalah tempat penyimpanan data.
d. Data Flow
Data Flow merepresentasikan sebuah input data ke dalam sebuah
proses atau output dari data (atau informasi) pada sebuah proses.
Jenis-jenis DFD adalah sebagai berikut :
1) Level 0 (Diagram Konteks)
Level ini merupakan sebuah proses yang berada di posisi
pusat.
2) Level 1 (Diagram Nol)
43
Level ini merupakan sebuah proses yang terdapat di level 0
yang dipecahkan menjadi beberapa proses lainnya. Sebaiknya
maksimum tujuh proses untuk sebuah diagram konteks.
3) Level 2 (Diagram Rinci)
Pada level ini merupakan diagram yang merincikan diagram
level satu. Terdapat tanda * yang digunakan jika proses tersebut
tidak dapat dirincikan lagi. 2.0* artinya proses level rendah yang
tidak dapat dirincikan lagi. Penomoran yang dilakukan adalah
berdasarkan urutan proses.
Gambar 2.4 : Simbol-simbol DFD
44
2.1.9 Flow Chart
Flowchart adalah penggambaran secara grafik dari langkah – langkah
dan urutan – urutan prosedur dari suatu program. Flowchart menolong
analisis dan programmer untuk memecahkan masalah ke dalam segmen –
segmen yang lebih kecil dan menolong dalam menganalisis alternatif –
alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah
penyelesain suatu masalah khususnya suatu masalah yang perlu dipelajari
dan dievaluasi lebih lanjut.
Jenis – jenis flowchart :
a. Flowchart system
b. Flowchart dokumen
c. Flowchart skematik
d. Flowchart program
e. Flowchart proses
2.1.9.1 Pedoman – pedoman dalam membuat flowchart :
a. Flowchart digambarkan dari halaman atas ke bawah dan dari
kiri ke kanan.
b. Aktivitas yang digambarkan harus didefinisikan secara hati-
hati dan definisi ini harus dapat dimengerti oleh pembacanya.
c. Kapan aktivitas dimulai dan berakhir harus ditentukan secara
jelas.
45
d. Setiap langkah dari aktivitas harus diuraikan dengan
menggunakan deskripsi kata kerja, misalkan MENGHITUNG
PAJAK PENJUALAN.
e. Setiap langkah dari aktivitas harus berada pada urutan yang
benar.
f. Lingkup dan range dari aktifitas yang sedang digambarkan
harus ditelusuri dengan hati-hati. Percabangan-percabangan
yang memotong aktivitas yang sedang digambarkan tidak
perlu digambarkan pada flowchart yang sama. Simbol
konektor harus digunakan dan percabangannya diletakan pada
halaman yang terpisah atau hilangkan seluruhnya bila
percabangannya tidak berkaitan dengan sistem.
g. Gunakan simbol-simbol flowchart yang standar.
2.1.9.2 Simbol – simbol flowchart :
Simbol – simbol flowchart yang biasa digunakan adalah
simbol – simbol flowchart standar yang dikeluarkan oleh ANSI
dan ISO.
46
Gambar 2.5 : Simbol – symbol Flowchart
47
2.2 Teori Khusus
2.2.1 Internet
Internet merupakan jaringan global komputer dunia, besar dan sangat
luas sekali dimana setiap komputer saling terhubung satu sama lainnya dari
negara ke negara lainnya di seluruh dunia dan berisi berbagai macam
informasi, mulai dari text, gambar, audio, video, dan lainnya.
Internet itu sendiri berasal dari kata Interconnection Networking, yang
berarti hubungan dari banyak jaringan komputer dengan berbagai tipe dan
jenis, dengan menggunakan tipe komunikasi seperti telepon, salelit, dan
lainnya.
Dalam mengatur integrasi dan komunikasi jaringan komputer ini
menggunakan protokol yaitu TCP/IP. TCP (Transmission Control
Protocol) bertugas untuk memastikan bahwa semua hubungan bekerja
dengan benar, sedangkan IP (Internet Protocol) yang mentransmisikan data
dari satu komputer ke komputer lain. TPC/IP secara umum berfungsi
memilih rute terbaik transmisi data, memilih rute alternatif jika suatu rute
tidak dapat di gunakan, mengatur dan mengirimkan paket-paket
pengiriman data.
Untuk dapat ikut serta menggunakan fasilitas Internet, Anda harus
berlangganan ke salah satu ISP (Internet Service Provider) yang ada dan
melayani daerah Anda. ISP ini biasanya disebut penyelenggara jasa
internet. Anda bisa menggunakan fasilitas dari Telkom seperti Telkomnet
48
Instan, speedy dan juga layanan ISP lain seperti first media, netzip dan
sebagainya.
Internet memberikan banyak sekali manfaat, ada yang bisa
memberikan manfaat baik dan buruk. Baik bila digunakan untuk
pembelajaran informasi dan buruk bila digunakan untuk hal yang berbau
pornografi, informasi kekerasan, dan lain-lainnya yang negatif.
Internet ini memungkinkan pengguna komputer di seluruh dunia untuk
saling berkomunikasi dan berbagi informasi dengan cara saling
mengirimkan email, menghubungkan komputer satu ke ke komputer yang
lain, mengirim dan menerima file dalam bentuk text, audio, video,
membahas topik tertentu pada newsgroup, website social networking dan
lain-lain
2.2.2 Web
Website atau situs dapat diartikan sebagai kumpulan halaman-halaman
yang digunakan untuk menampilkan informasi teks, gambar diam atau
gerak, animasi, suara, dan atau gabungan dari semuanya itu baik yang
bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan
yang saling terkait dimana masing-masing dihubungkan dengan jaringan-
jaringan halaman (hyperlink).
Untuk menyediakan keberadaan sebuah website, maka harus tersedia
unsur-unsur penunjangnya, adalah sebagai berikut:
a. Nama domain (Domain name/URL – Uniform Resource Locator)
49
Pengertian Nama domain atau biasa disebut dengan Domain Name
atau URL adalah alamat unik di dunia internet yang digunakan untuk
mengidentifikasi sebuah website, atau dengan kata lain domain name
adalah alamat yang digunakan untuk menemukan sebuah website pada
dunia internet. Contoh :http://www.twitter.com , http://www.detik.com
Nama domain diperjualbelikan secara bebas di internet dengan status
sewa tahunan. Nama domain sendiri mempunyai identifikasi
ekstensi/akhiran sesuai dengan kepentingan dan lokasi keberadaan
website tersebut. Contoh nama domain ber-ekstensi internasional
adalah com, net, org, info, biz, name, ws. Contoh nama domain ber-
ekstensi lokasi Negara Indonesia adalah co.id (untuk nama domain
website perusahaan), ac.id (nama domain website pendidikan), go.id
(nama domain website instansi pemerintah), or.id (nama domain
website organisasi).
b. Rumah tempat website (Web hosting)
Pengertian Web Hosting dapat diartikan sebagai ruangan yang
terdapat dalam harddisk tempat menyimpan berbagai data, file-file,
gambar dan lain sebagainya yang akan ditampilkan di website.
Besarnya data yang bisa dimasukkan tergantung dari besarnya web
hosting yang disewa/dipunyai, semakin besar web hosting semakin
besar pula data yang dapat dimasukkan dan ditampilkan dalam website.
Web Hosting juga diperoleh dengan menyewa. Besarnya hosting
ditentukan ruangan harddisk dengan ukuran MB(Mega Byte) atau
50
GB(Giga Byte). Lama penyewaan web hosting rata-rata dihitung per
tahun. Penyewaan hosting dilakukan dari perusahaan-perusahaan
penyewa web hosting yang banyak dijumpai baik di Indonesia maupun
Luar Negri.
c. Bahasa Program (Scripts Program)
Adalah bahasa yang digunakan untuk menerjemahkan setiap
perintah dalam website yang pada saat diakses. Jenis bahasa program
sangat menentukan statis, dinamis atau interaktifnya sebuah website.
Semakin banyak ragam bahasa program yang digunakan maka akan
terlihat website semakin dinamis, dan interaktif serta terlihat bagus.
Beragam bahasa program saat ini telah hadir untuk mendukung kualitas
website. Jenis jenis bahasa program yang banyak dipakai para desainer
website antara lain HTML, ASP, PHP, JSP, Java Scripts, Java applets
dsb. Bahasa dasar yang dipakai setiap situs adalah HTML sedangkan
PHP, ASP, JSP dan lainnya merupakan bahasa pendukung yang
bertindak sebagai pengatur dinamis, dan interaktifnya situs. Bahasa
program ASP, PHP, JSP atau lainnya bisa dibuat sendiri. Bahasa
program ini biasanya digunakan untuk membangun portal berita,
artikel, forum diskusi, buku tamu, anggota organisasi, email, mailing
list dan lain sebagainya yang memerlukan update setiap saat.
d. Desain website
Setelah melakukan penyewaan domain name dan web hosting
serta penguasaan bahasa program (scripts program), unsur website
51
yang penting dan utama adalah desain. Desain website menentukan
kualitas dan keindahan sebuah website. Desain sangat berpengaruh
kepada penilaian pengunjung akan bagus tidaknya sebuah website.
Untuk membuat website biasanya dapat dilakukan sendiri atau
menyewa jasa website designer. Saat ini sangat banyak jasa web
designer, terutama di kota-kota besar. Perlu diketahui bahwa kualitas
situs sangat ditentukan oleh kualitas designer. Semakin banyak
penguasaan web designer tentang beragam program/software
pendukung pembuatan situs maka akan dihasilkan situs yang semakin
berkualitas, demikian pula sebaliknya. Jasa web designer ini yang
umumnya memerlukan biaya yang tertinggi dari seluruh biaya
pembangunan situs dan semuanya itu tergantung kualitas designer.
e. Publikasi website
Keberadaan situs tidak ada gunanya dibangun tanpa dikunjungi
atau dikenal oleh masyarakat atau pengunjung internet. Karena efektif
tidaknya situs sangat tergantung dari besarnya pengunjung dan
komentar yang masuk. Untuk mengenalkan situs kepada masyarakat
memerlukan apa yang disebut publikasi atau promosi. Publikasi situs di
masyarakat dapat dilakukan dengan berbagai cara seperti dengan
pamlet-pamlet, selebaran, baliho dan lain sebagainya tapi cara ini bisa
dikatakan masih kurang efektif dan sangat terbatas. Cara yang biasanya
dilakukan dan paling efektif dengan tak terbatas ruang atau waktu
adalah publikasi langsung di internet melalui search engine - search
52
engine(mesin pencari, spt : Yahoo, Google, Search Indonesia, dsb).
Cara publikasi di search engine ada yang gratis dan ada pula yang
membayar. Yang gratis biasanya terbatas dan cukup lama untuk bisa
masuk dan dikenali di search engine terkenal seperti Yahoo atau
Google. Cara efektif publikasi adalah dengan membayar, walaupun
harus sedikit mengeluarkan akan tetapi situs cepat masuk ke search
engine dan dikenal oleh pengunjung.
f. Pemeliharaan Website
Untuk mendukung kelanjutan dari situs diperlukan pemeliharaan
setiap waktu sesuai yang diinginkan seperti penambahan informasi,
berita, artikel, link, gambar atau lain sebagainya. Tanpa pemeliharaan
yang baik situs akan terkesan membosankan atau monoton juga akan
segera ditinggal pengunjung.
Pemeliharaan situs dapat dilakukan per periode tertentu seperti
tiap hari, tiap minggu atau tiap bulan sekali secara rutin atau secara
periodik saja tergantung kebutuhan(tidak rutin). Pemeliharaan rutin
biasanya dipakai oleh situs-situs berita, penyedia artikel, organisasi atau
lembaga pemerintah. Sedangkan pemeliharaan periodik bisanya untuk
situs-situs pribadi, penjualan/e-commerce, dan lain sebagainya.
2.2.3 Web Database
Menurut Berry Eaglestone dan Mick Ridley (Web Database System,
2001), sistem Database dapat dihubungkan ke internet untuk digunakan
53
melalui web. Berikut ini adalah beberapa tipe-tipe dari koneksi yang
digunakan :
1. Remote Connections : Sebuah sistem database, dimana dapat diakses
melalui webdimanapun seorang user berada.
2. Client-Server architecture : ini adalah bentuk umum dari program
aplikasi database yang menggunakan internet.
3. Distributed Databases : Beberapa DBMS mempunyai fasilitas untuk
mengijinkan bagian tertentu dari database disimpan pada komputer yang
berbeda-beda. Data tersebut didistribusikan diletakkan di tempat-tempat
berbeda, dan hal ini tidak disadari oleh user.
4. Multidatabase : Ada sebuah teknologi database yang dikenal dengan
nama teknologi multidatabase dimana teknologi ini membuat beberapa
database tunggal untuk di satukkan untuk mendukung akses yang
terintegritasi ke tempat penyimpanan.
2.2.4 Eight Golden Rules
Untuk meningkatkan penggunaan aplikasi sangat penting untuk
memiliki rancangan interface yang baik. Shneiderman mengemukakan 8
(delapan) aturan yang dapat digunakan sebagai petunjuk dasar yang baik
untuk merancang suatu user interface. Delapan aturan ini disebut Eight
Golden Rules of Interface Design, yaitu :
1. Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan
istilah yang digunakan pada prompt, menu, serta layar bantuan.
54
2. Memungkinkan pengguna untuk menggunakan shortcut
Ada kebutuhan dari pengguna yang sudah ahli untuk
mempercepat interaksi, sehingga dibutuhkan singkatan, tombol
fungsi, perintah tersembunyi, dan fasilitas makro.
3. Memberikan feedback yang informatif
Untuk setiap tindakan operator sebaiknya disediakan suatu
sistem umpan-balik. Untuk tindakan yang sering dilakukan atau
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
ketikan salah menekan tombol pada waktu input data atau muncul
pesan kesalahannya.
4. Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok
dengan bagian awal, tengah, dan akhir. Umpan-balik yang
infromatif akan memberikan 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. Jika kesalahan terjadi, sistem
dapat mendeteksi kesalahan dengan cepat dan memberikan
55
mekanisme yang sederhana dan mudah dipahami untuk
penanganan kesalahan.
6. Mudah kembali ke tindakan sebelumnya
Hal ini dapat mengurangi kekhawatiran pengguna karena
pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan,
sehingga pengguna tidak takut untuk mengeksplorasi 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 sedemkian rupa sehingga pengguna menjadi inisiator
daripada responden.
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.
56
2.2.5 PHP
Menurut Luke Welling dan Laura Thomson (2001, p2) PHP adalah
sebuah bagian server dengan bahasa pemrograman yang di desain khusus
untuk Web. Artinya sintaks – sintaks dan perintah yang kita berikan akan
di jalankan langsung oleh server tapi disertakan pada halam HTML biasa.
Dengan halaman HTML anda bisa menanamkan kode PHP , itu akan di
eksekusi setiap kali halaman di kunjungi. PHP adalah produk open source.
Maksud dari open source adalah kita dapat menggunakannya,
mengubahnya , mendistribusikan semuanya secara bebas tanpa dikenakan
biaya.
Kelebihan yang di miliki oleh PHP adalah sebagai berikut :
a. Kinerja yang sangat baik
Sangat efisien karena menggunakan server tunggal sehingga bisa
melayani jutaan serangan tiap hari.
b. Interface untuk sistem bisa di gunakan pada database yang berbeda
Tersedianya koneksi untuk banyak sistem database seperti :
PostgreSQL, mSQL, Oracle, dbm, filePro, Hyperwave, Informix,
Interbase, dan Sybase Database dan masih banyak yang lainnya.
c. Biaya lebih murah
Di karenakan ini merupakan software tidak berbayar maka mengurangi
biaya untuk mendapatkan lisensi.
d. Adanya suatu library
57
Memiliki banyak fungsi untuk kinerja yang sangat berguna untuk web.
Didukung dengan adanya fasilitas untuk generate gambar berformat
GIF, koneksi ke jaringan lainnya, kirim email, bekerja dengan cookies,
dan menghasilkan PDF dokumen, semua itu hanya dengan melihat dari
baris kode nya.
e. Memudahkan untuk dipelajari dan menggunakannya.
Dasar pemrograman PHP merupakan bahasa utama C dan Perl. Jika
sudah menguasai C atau Perl akan dengan mudah untuk menguasai
PHP.
f. Ketersediaan source code
Memiliki hak akses ke source code PHP sehingga di izinkannya user
untuk mengubah atau menambahkan bahasa.
g. Portabilitas
Tersedianya untuk banyak sistem operasi yang berbeda
2.2.6 MySQL
Menurut Luke Welling dan Laura Thomson (2001, p208) MySQL
adalah sebuah software yang open source, MySQL merupakan sebuah
relasi menajemen basis data yang open source, enterprise level, dan
multithread. Sehingga bebas untuk dipakai dan di modifikasi oleh semua
orang. Setiap orang dapat mendownload MySQL dari internet dan
menggunakannya tanpa perlu membayar.
MySQL lebih dari sebuah basis data biasa yang merupakan sistem
yang mengatur basis data yang ada. MySQL mengontrol siapa saja yang
58
dapat menggunakan basis data dan bagaimana basis data dimanipulasi.
MySQL juga menyimpan catatan dari semua kegiatan dan secara terus
menerus bekerja di background.
Fitur MySQL :
a. Di dukung sepenuhnya oleh bahasa pemrograman C, C++, Eiffel, Java,
Perl, PHP, Python, dan Tel untuk mengakses database MySQL.
b. Dapat bekerja pada banyak platform yang berbeda, termasuk juga di
dalamnya windows.
c. Banyak tipe kolom : signed/unsigned integer 1,2,3,4, dan 8 bytes,
FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE,
TIME, DATETIME, TIMESTAMP, YEAR, SET, dan tipe ENUM.
d. Mendukung sepenuhnya parameter SQL GROUP BY dan ORDER BY.
Fungsi yang dapat di pakai dalam group query : (COUNT(),
COUNT(DISTINCT), AVG(), STD(), SUM(), MAX(), dan MIN()).
e. Sistem privilege dan password dapat terjaga kerahasiannya dapat
diverifikasi berdasarkan nama host-nya. Password terjaga
kerahasiannya karena semua password di simpan dalam keadaan
terenkripsi.
2.2.7 Apache
APACHE merupakan salah satu jenis program yang bertujuan untuk
mengirimkan kembali sintaks yang telah diberikan oleh user dan
menampilkan kembali dalam bentuk dalam format hasilnya saja. Program
APACHE ini hanya terdapat pada sebuah server yang terdapat pada ISP
59
(Internet Service Provider) atau di Indonesia disebut Jasa Penyelenggara
Internet. Saat ini program yang paling banyak terdapat pada server - server
di dunia adalah APACHE. Hal ini disebabkan karena beberapa keunggulan
yang diberikan.
Keunggulan-keunggulan tersebut antara lain :
- memiliki kemapuan pembacaan yang tinggi dan mudah
disesuaikan
- memiliki tingkat keamanan yang tinggi. Hal ini dibutuhkan bagi
para penyimpan data yang memiliki tingkat kerahasian tertentu.
- dapat dijalankan untuk berbagai macam operasi sistem.
APACHE merupakan suatu nama yang diambil dari istilah “A
PAtCHy” server yang dapat diartikan dengan mengambil suatu patch atau
bagian dari program yang diberikan.
2.2.8 Pemasaran
Menurut Ellsworth dan Ellsworth (2001, p2) pemasaran adalah
tanggapan atau respon industri terhadapan keinginan dan keperluan
pelanggan.
Menurut Davey dan Jack (2001) pemasaran adalah aktivitas yang
dilakukan untuk memuaskan kebutuhan dan keinginan pelanggan melalui
barang dan jasa dan merupakan penghubungan antara konsumen dan
produsen.
Tujuan pemasaran adalah untuk mengetahui dan memahami para
pelanggan dengan baik sehingga produk atau jasa yang dihasilkan
60
perusahaan cocok dengan mereka dan dapat terjual dengan sendirinya.
Idealnya, pemasaran harus menghasilkan pelanggan untuk membeli
sehingga tinggal hanyalah bagaimana membuat produk atau jasa tersebut
tersedian.