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. Prosesproses 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 mengupdate 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
independence l.
Meningkatkan concurrency Adapun kerugian DBMS antara lain :
a.
Kompleksitas
b.
Ukuran besar
dan
melalui
data
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 pengawasan
dan
maintenance
merupakan
pemeliharaan
suatu
proses
sistem
setelah
instalasi,
Jika
kinerja
menurun,
mencakup: -
Pengawasan
kinerja
sistem.
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. Atributatribut 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
perancangan
logikal
relasi
yang
dihasilkan
dari
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 indeksindeks 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 oneto-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 :
a.
-
Entity
-
Atribut
-
Relationship
-
Key
-
Kardinalitas
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 hatihati 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 jaringanjaringan 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 berekstensi 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 umpanbalik 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.