bab 2 landasan teori - library & knowledge...
TRANSCRIPT
7
BAB 2
LANDASAN TEORI
2.1 Teori – Teori Dasar / Umum
2.1.1 Definisi Basis Data
Menurut Connolly dan Begg (2005, p15), pengertian basis data
adalah kumpulan data yang dipakai bersama dan terhubung secara logis
dan deskripsi dari data ini dirancang untuk memenuhi kebutuhan
informasi dari sebuah organisasi.
Menurut Wikipedia, pengertian basis data adalah suatu koleksi
dari data atau informasi yang disimpan secara sistematis dalam komputer.
Jadi basis data adalah kumpulan data yang telah terorganisasi
secara menyeluruh sehingga memiliki koneksi logis dan diterapkan
secara sistematis di dalam komputer.
2.1.2 Database Lifecycle
Menurut Connolly dan Begg (2005, p283), sistem basis data
merupakan komponen pokok dalam sistem informasi dari organisasi yang
besar, siklus pengembangan basis data tak terpisahkan dengan siklus
sistem informasi.
Aktivitas-aktivitas yang ada dalam siklus pengembangan basis
data diantaranya :
8
1. Database Planning
Merencanakan bagaimana bagian-bagian dalam siklus dapat
direalisasikan dengan efektif dan efisien.
2. System Definition
Menspesifikasikan jangkauan dan batasan dari sistem basis data,
meliputi major user views, user itu sendiri, dan area aplikasi.
3. Requirements Collection and Analysis
Mengumpulkan dan menganalisis kebutuhan untuk sistem basis
data baru.
4. Database Design
Merancang desain konseptual, logikal, dan fisikal dari basis data.
5. DBMS Selection (optional)
Memilih DBMS yang sesuai dengan sistem basis data.
6. Application Design
Merancang antarmuka user dan program aplikasi yang
menggunakan dan memproses basis data.
7. Prototyping (optional)
Membangun model kerja dari sistem basis data dimana
mengizinkan perancang atau user untuk memvisualisasikan dan
mengevaluasi bagaimana sistem akhir akan terlihat dan berfungsi.
8. Implementation
Menciptakan definisi basis data fisikal dan program aplikasi.
9
9. Data Conversion and Loading
Memuat data dari sistem lama ke sistem baru dan, jika
memungkinkan, mengubah beberapa aplikasi yang sudah ada untuk
dijalankan pada basis data baru.
10. Testing
Sistem basis data diuji terhadap kesalahan-kesalahan dan
memvalidasi dengan kebutuhan yang diinginkan user.
11. Operational and Maintenance
Sistem basis data diimplementasikan secara penuh. Sistem ini
diawasi dan dipelihara secara terus menerus. Jika diperlukan,
kebutuhan baru akan dimasukkan ke dalam sistem basis data melalui
tahapan siklus sebelumnya.
10
Berikut ini adalah siklus hidup aplikasi basis data :
Gambar 2.1 Siklus Hidup Aplikasi Basis Data
2.1.3 Entity-Relationship Modelling
Menurut Connolly & Begg (2005,p342) Entity Relationship
Modelling adalah pendekatan Top-Down pada perancangan basis data
yang dimulai dengan mengidentifikasi data penting yang disebut dengan
11
Entitas dan hubungan di antara data yang harus di representasikan dalam
model.
2.1.3.1 Entity Type
Entity Type adalah kumpulan dari obyek yang memiliki
sifat yang sama (Connolly, 2005, p343) Sebuah entity memiliki
keadaan bebas dan bisa merupakan obyek fisik atau nyata seperti
(staf, pelanggan dan lain-lain) atau merupaka obyek konseptual
atau abstrak (seperti penjualan, inspeksi, dan lain-lain). Entity
Occurance adalah objek yang secara unik diidentifikasikan oleh
sebuah entity type (Connolly, 2005, p345)
Gambar 2.2 Entity Dari Staff Dan Branch
2.1.3.2 Relationship Type
Relationship Type adalah kumpulan hubungan antar tipe
entiti. Relationship occurance adalah hubungan yang
diidentifikasikan secara unik, yang termasuk sebuah kemunculan
dari setiap entity type yang berpartisipasi (Connolly, 2005,
Entity Name
Staff Branch
12
p346).Jumlah entity type yang berpartisipasi pada sebuah
hubungan (relationship) disebut sebagai dgree of a relationship
type.
Beberapa macam hubungan antar entiti adalah sebagai berikut:
1. Binary, hubungan dengan 2 entity berpartisipasi di
dalamnya.
POwns
Gambar 2.3 Binary Relationship
Sumber: Connolly & Begg (2005, p348)
2. Ternary, hubungan tiga entity berpartisipasi di dalamnya.
Gambar 2.4 Ternary Relationship.
Sumber: Connolly & Begg (2005, p348)
Private Owner PropertyForRent
Staff Branch Regist
Client
13
3. Quaternary, hubungan dengan 4 entity berpartisipasi di
dalamnya.
Gambar 2.5 Quaternary Relationship
Sumber: Connolly & Begg (2005, p349)
4. Recursive, relationship type dimana entity yang sama
berpartisipasi lebih dari satu kali dengan aturan yang
berbeda.
Supervises
Supervises
Supervises
Gambar 2.6 Recursive Relationship
Sumber: Connolly & Begg (2005, p349)
Role
Role
Staff
Staff
Staff
Staff
Staff
Registe
14
2.1.3.3 Attribute
Menurut Connolly (Connolly, 2005, p350), atribut
(attribute) adalah property dari sebuah entity atau relationship
type. Attribute domain adalah himpunan nilai untuk satu atau
lebih atribut (Connolly, 2005, p350) Domain mendefinisikan nilai
potensial data yang disimpan oleh sebuah atribut.
Beberapa macam atribut :
1. Simple attribute, atribut yang terdiri dari sebuah komponen
tunggal dan tidak dapat di bagi menjadi bagian yang lebih
kecil lagi. Contohnya adalah jabatan, gaji, dan sebagainya.
2. Composite attribute, atribut yang terdiri dari berbagai
komponen lain yang lebih kecil. Contohnya adalah atribut
alamat. Atribut ini bisa terdiri dari berbagai komponen
lainnya, misalnya jalan, kota, dan kode pos.
3. Single-valued attribute, atribut yang menyimpan sebuah nilai
tunggal untuk setiap kemunculan dari entity type. Contohnya
adalah nomor induk pegawai pada entity pegawai.
4. Multi-valued attribute, atribut yang menyimpan beberapa
nilai untuk setiap kemunculan dari entity type. Contohnya
adalah nomor telepon dari suatu pelanggan yang lebih dari
satu.
15
5. Derived attribute, atribut yang merepresentasikan nilai yang
diturunkan dari sebuah nilai atau beberapa atribut yang lain.
2.1.3.4 Key
Model entity relationship memiliki beberapa key.
Diantaranya mirip dengan model relasional. Key yang ada pada
model ini adalah (Connolly, 2005, p352-353):
1. Candidate Key, jumlah minimal atribut-atribut yang dapat
mengidentifikasikan setiap kejadian dari sebuah entiy type
secara unik.
2. Primary Key, candidate key yang dipilih untuk
mengidentifikasikan setiap kejadian dari suatu entity secara
unik.
3. Composite Key, candidate key yang terdiri dari 2 atau lebih
atribut.
4. Foreign Key, turunan dari Primary Key.
2.1.3.5 Strong and Weak Entity type
Menurut Connolly (2005, p354-355), entity type dapat
diklarifikasikan sebagai berikut :
1. Strong Entity Type, suatu entity type yang keberadaannya
tidak bergantung pada entity lainnya.
16
2. Weak Entity Type, suatu entity type yang keberadaannya
bergantung pada entity lainnya.
2.1.3.6 Cardinality and participation constraint
Cardinality menjelaskan jumlah maksimum kemunculan
dari entity yang berpartisipasi pada sebuah relationship
(Connolly, 2005, p362-363). Cardinality dari binary relationship
adalah one-to-one (1:1), one-to-many (1:*), many-to-many (*:*).
Participation menjelaskan apakah seluruh atau hanaya
beberapa kemunculan entity yang berpartisipasi pada sebuah
relationship (Connolly, 2005, p363) partisipation terdiri dari
mandatory dan optional.
2.1.3.7 Masalah pada model entity relationship
Menurut Connolly (2005, p364-p367) ada dua masalah
pada model entity relationship yaitu :
1. fan trap
Masalah ini terjadi dimana sebuah model
merepresantasikan hubungan antar entity tapi jalurnya ambigu.
2. chasm trap
Masalah ini terjadi jika sebuah model memperlihatkan ada
sebuah hubungan antar entity tapi ternyata jalurnya tidak ada.
17
3. Normalisasi
Menururt Connolly dan begg (2005, p388) normalisasi
adalah suatu teknik untuk menghasilkan sekumpulan
hubungan dengan property yang dikehendaki, yang memenuhi
kebutuhan data dari perusahaan.
Ada beberapa tahap dalam normalisasi yaitu (Connolly dan
begg, 2005, p403-410) :
1. Bentuk normal pertama (first normal form/ 1NF)
Sebuah relasi dimana setiap baris dan kolom hanya
berisi satu nilai. Untuk mengubah bentuk tidak normal
menjadi 1 NF, identifikasikan dan pindahkan grup
yang berulang dari dalam tabel. Grup yang berulang
dari table yang tidak normal yaitu :
a. Pendekatan pertama, pindahkan grup yang
berulang dengan memasukkan data yang cocok ke
dalam kolom yang kosong dari baris yang berisi
data yang berulang.
b. Pendekatan kedua, pindahkan grup yang berulang
dengan menempatkan data yang berulang, dengan
meniru atribut kunci yang asli, dalam relas i yang
terpisah. Primary key diidentifikasikan untuk
sebuah relasi yang baru.
18
2. Bentuk normal kedua (scond normal form /2 NF)
Sebuah relasi yang ada pada 1 NF, dan setiap
atribut yang bukan primary key ketergantungan
fungsional secara penuh pada primary key.
Ketergantungan fungsional adalah secara penuh adalah
suatu kondisi bila A dan B merupakan atribut dari
sebuah relasi, B dikatakan ketergantungan fungsional
secara penuh terhadap A jika B ketergantungan
fungsional pada A dan bukan pada subset mana pun
dari A.
Normalisasi dari 1NF ke 2NF dengan
menghilangkan ketergantungan parsial. Jika
ketergantungan parsial eksis, maka pindahkan attribute
yang bergantung secara fungsional dari relasi dengan
memindahkan ke relasi yang baru beserta dengan
salinan determinan.
3. Bentuk normal ketiga (Third Normal Form/ 3NF)
Sebuah relasi yang ada pada 1NF dan 2NF, dan
tidak ada atribute bukan primary key bergantung
secara transitif pada primary key. Ketergantungan
transitif adalah suatu kondisidimana A, B, dan C
merupakan attribute dari sebuah relasi, maka jika A ->
19
B dan B -> C, maka C ketergantungan transitif pada A
melalui B.
Normalisasi dari 2NF ke 3NF dengan
menghilangkan ketergantungan transitif. Jika
ketergantungan transitif eksis, maka pindahkan
atribute yang bergantung secara transitif dari relasi
dengan memindahkan attribute ke relasi yang baru
beserta dengan salinan determinan.
2.1.4 Metodologi database.
2.1.4.1 Perancangan Basis Data
Perancangan basis data konseptual adalah proses
membangun sebuah model data yang digunakan di dalam
perusahaan, bebas dari segala pertimbangan fisik (Connolly dan
Begg, 2005, p439).
Tahap-tahap dalam perancangan basis data konseptual
diantaranya (Connolly dan Begg, 2005, p442) :
Langkah 1 : Membangun model data konseptual
Tujuannya adalah untuk membangun model data
konseptual dari kebutuhan data dalam perusahaan.Tahapan-
tahapan dari membangun model data konseptual diantaranya:
20
1. Mengidentifikasikan tipe entitas
Tujuannya untuk mengidentifikasikan tipe entitas
yang dibutuhkan.
Gambar 2.7 Kamus Data Entity
(Connolly dan Begg, 2005, p444)
2. Mengidentifikasikan tipe relasi
Tujuannya untuk mengidentifikasikan relasi yang
penting yang ada diantara tipe-tipe entitas.
Gambar 2.8 Kamus Data Relationship
(Connolly dan Begg, 2005, p447)
21
3. Mengidentifikasikan dan mengasosiasikan atribut
dengan entitas atau tipe relasi
Tujuannya untuk mengasosiasikan atribut dengan
tipe-tipe entitas atau relasi yang tepat.
4. Menentukan domain atribut
Tujuannya untuk menentukan domain dari atribut
di dalam model data konseptual lokal.
5. Menentukan atribut-atribut candidate, primary, dan
alternate key
Tujuannya untuk mengidentifikasikan candidate
key dari setiap tipe entitas dan jika ada lebih dari 1
candidate key, salah satu akan terpilih menjadi primary
key dan yang lain menjadi alternate key.
Primary key adalah candidate key yang dipilih
untuk secara unik mengidentifikasikan suatu tipe entitas
(Connolly dan Begg, 2005, p451).
Candidate key adalah kumpulan minimal dari
atribut yang secara unik mengidentifikasikan setiap tipe
entitas (Connolly dan Begg, 2005, p451).
22
Untuk memilih sebuah primary key dari antara
candidate key yang ada maka sebaiknya menggunakan
tahapan-tahapan di bawah ini :
1. Candidate key dengan satu set atribut yang paling
sedikit.
2. Candidate key yang paling sedikit mempunyai nilai
yang sering berubah.
3. Candidate key yang memiliki karakter yang paling
sedikit.
4. Candidate key dengan nilai maksimum yang paling
kecil.
5. Candidate key yang paling mudah digunakan dari
sudut pandang user.
6. Mempertimbangkan penggunaan konsep enhanced
modeling (optional)
Tujuannya untuk mempertimbangkan penggunaan
konsep enhanced modeling seperti
spesialisasi/generalisasi, agregasi, dan komposisi.
7. Memeriksa model untuk redundansi
Tujuannya untuk memeriksa adanya redundansi di dalam
model.
23
Dua aktivitas yang ada didalam tahapan ini adalah :
1. Memeriksa kembali one-to-one(1:1) relationship
Dalam mengidentifikasikan entitas kita mungkin
telah mengidentifikasikan dua entitas yang
merepresentasikan objek yang sama di perusahaan.
2. Menghapus relationship yang berlebihan
Sebuah relationship disebut berlebihan atau
redundant bila informasi yang sama dapat diperoleh
melalui relationship yang lain.
8. Memvalidasi model konseptual dengan transaksi user
Tujuannya untuk memastikan model konseptual
mendukung kebutuhan transaksi.
Ada dua pendekatan yang dapat memastikan bahwa model
data konseptual mendukung kebutuhan transaksi:
1. Menjelaskan transaksi tersebut
Memeriksa semua informasi yang ada
(entity, relationship, dan semua atribut) yang
dibutuhkan oleh setiap transaksi yang disediakan
oleh model, dengan mendokumentasikan sebuah
deskripsi setiap kebutuhan transaksi.
24
2. Menggunakan jalur transaksi
Pendekatan kedua ini untuk
memvalidasikan model data dengan transaksi yang
dibutuhkan.
9. Mengkaji ulang model data konseptual dengan user
Tujuannya untuk mengkaji ulang model data
konseptual dengan user untuk memastikan bahwa mereka
akan mempertimbangkan model tersebut menjadi
perwakilan yang sebenarnya dari kebutuhan data dalam
perusahaan.
2.1.4.2 Perancangan basis data logical
Perancangan basis data logikal adalah proses membangun
sebuah model dari data yang digunakan oleh perusahaan yang
berdasar pada data model yang spesifik, tetapi tidak terikat pada
DBMS tertentu dan pertimbangan fisikal lainnya. (Connolly dan
Begg, 2005, p439)
Langkah 2 : Membangun dan memvalidasi model data logikal
Tujuannya untuk menerjemahkan model data konseptual
menjadi model data logikal dan kemudian untuk memvalidasi
model ini untuk memeriksa bahwa model tersebut benar secara
struktural dan dapat digunakan untuk mendukung transaksi yang
25
dibutuhkan. Tahapan-tahapan dari membangun model data logikal
diantaranya :
1. Menciptakan relasi untuk model data logikal
Tujuannya untuk menciptakan hubungan atau
relasi untuk model data logikal untuk mewakili entitas-
entitas, hubungan-hubungan, dan atribut-atribut yang
sudah diidentifikasi.
Pendeskripsian bagaimana relasi dapat diturunkan
dari struktur data model yang ada, antara lain :
• tipe strong entity
• tipe weak entity
• tipe relasi binary one-to-many (1:*)
• tipe relasi binary one-to-one (1:1)
Terdiri dari :
1. mandatory participation on both sides of 1:1
relationship
2. mandatory participation on one side of 1:1 relationship
3. optional participation on both sides of 1:1 relationship
• tipe relasi rekursif one-to-one (1:1)
• tipe relasi superclass/subclass
• tipe relasi binary many-to-many
• tipe relasi kompleks
• attribut multi-value
26
2. Memvalidasi hubungan menggunakan normalisasi
Tujuannya untuk memvalidasi hubungan di dalam
model data logikal menggunakan normalisasi.
Tahapan dari normalisasi antara lain :
• First Normal Form (1NF), menghilangkan grup yang
berulang.
• Second Normal Forn (2NF), menghilangkan partial
dependencies atau ketergantungan parsial pada
primary key.
• Third Normal Form (3NF), menghilangkan transitive
dependencies atau ketergantungan transitif pada
primary key.
3. Memvalidasi hubungan dengan transaksi user
Tujuannya untuk memastikan bahwa hubungan di
dalam model data logikal mendukung kebutuhan transaksi
(biasanya penggambaran dalam bentuk view).
4. Memeriksa integrity constraint
Tujuannya untuk memeriksa integrity constraint yang
diwakili di dalam data model logikal.
Beberapa tipe dari integrity constraint adalah sebagai
berikut :
27
• Required data
Beberapa atribut harus selalu berisi data yang resmi
sehingga atribut tersebut tidak diperbolehkan berupa
null.
• Attribute domain constraint
Setiap atribut mempunyai domain yang merupakan
sekumpulan nilai yang sah.
• Multiplicity
Multiplicity mewakili constraint yang ditempatkan
pada hubungan diantara data di dalam basis data.
• Entity integrity
Primary key di dalam sebuah entitas tidak dapat
menerima null.
• Referential integrity
Jika foreign key berisi nilai maka nilai tersebut harus
menunjuk kepada tuple yang ada.
28
• General constraint
Update pada entitas akan dikontrol oleh constraint
yang menentukan transaksi yang “real world” dimana
diwakili oleh update itu sendiri.
• Document all integrity constraint
Mendokumentasikan semua integrity constraint di
dalam kamus data untuk pertimbangan selama desain
fisikal.
5. Mengkaji ulang model data logikal dengan user
Tujuannya untuk meninjau ulang model data
logikal dengan user untuk memastikan bahwa mereka
mempertimbangkan model tersebut untuk menjadi
representasi nyata dari kebutuhan data di dalam sebuah
perusahaan.
6. Menggabungkan data model logikal menjadi model
global (optional)
Tujuannya untuk menggabungkan model data
logikal menjadi model data global single yang mewakili
semua user view dari basis data.
29
7. Memeriksa pertumbuhan lebih lanjut
Tujuannya untuk menentukan apakah ada
perubahan yang signifikan untuk masa depan yang sudah
dapat diduga sebelumnya dan menilai apakah model data
logikal dapat mengakomodasi perubahan ini.
2.1.4.3 Perancangan basis data fisikal
Perancangan basis data fisikal adalah proses memproduksi
sebuah deskripsi dari implementasi dari basis data pada secondary
storage, yang juga akan mendeskripsikan dasar dari suatu relasi,
organisasi file, dan index yang digunakan untuk mencapai akses
efisien menuju ke data dan beberapa batasan-batasan integritas
serta ukuran keamanan.(Connolly dan Begg, 2005, p496).
Langkah 3 : Menerjemahkan model data logikal ke dalam
target DBMS
Tujuannya untuk memproduksi skema relasi basis data
dari model data logikal yang dapat diimplementasikan di dalam
target DBMS
1. Mendesain relasi dasar
Tujuan dari langkah ini adalah untuk memutuskan
bagaimana merepresentasikan relasi dasar yang
30
diidentifikasikan di dalam model data logikal ke dalam target
DBMS.
Untuk setiap relasi yang diidentifikasi pada model data
logikal global, definisinya terdiri dari:
• Nama relasi
• Suatu list untuk atribut yang sederhana
• Primary key, alternate key, dan foreign key
• Suatu daftar dari atribut turunan dan bagaimana
pembuatannya.
• Batasan integrasi untuk setiap foreign key yang
diidentifikasi.
Dari kamus data, dari setiap atributnya dapat diketahui :
• Domain atribut tersebut, yang terdiri dari tipe data,
panjang, dan berbagai batasan dalam domain.
• Sebuah optional nilai default untuk atribut.
• Atribut boleh bernilai null.
• Atribut diperoleh dan bagaimana atribut tersebut
dikomputerisasi.
2. Merancang representasi dari data turunan
Tujuannya adalah untuk memutuskan bagaimana
untuk merepresentasikan berbagai data turunan pada
model data logikal di dalam DBMS.
31
3. Merancang batasan general
Tujuannya adalah untuk merancang batasan
general untuk DBMS yang digunakan.
Langkah 4 : Merancang organisasi file dan index
Tujuannya untuk menentukan organisasi file yang optimal
untuk menyimpan relasi dasar dan indeks yang dibutuhkan
untuk mencapai performance yang dapat diterima, dimana
setiap relasi dan tuple akan disimpan di dalam penyimpanan
kedua (secondary storage).
1. Menganalisis transaksi
Tujuannya adalah untuk memahami fungsionalitas dari
transaksi tersebut yang akan berjalan di dalam basis data
dan untuk menganalisis transaksi yang penting.
Dalam menganalisa transaksi, dapat diidentifikasi
kriteria performansi sebagai berikut :
• Transaksi yang sering digunakan dan akan
berdampak besar terhadap keseluruhan
performance.
• Transaksi yang merupakan operasi bisnis yang
bersifat kritis.
32
• Durasi waktu dalam hari/minggu dimana akan ada
permintaan yang tinggi pada basis data (peak
load).
Untuk fokus ke dalam area yang mungkin akan
bermasalah, maka salah satu cara untuk
memprosesnya antara lain :
• Petakan semua jalur transaksi ke relasi
• Menentukan relasi mana yang lebih sering diakses
oleh transaksi tersebut.
• Menganalisis penggunaan data dari transaksi yang
dipilih dimana transaksi tersebut terlibat dengan
relasi yang dimaksud.
2. Memilih index
Tujuannya untuk menentukan apakah dengan
menambah indeks akan meningkatkan performa sistem.
Biasanya, pemilihan atribut untuk ordering atau clustering
tuple adalah sebagai berikut :
• Sebuah atribut yang dipake paling sering untuk
operasi gabungan, hal ini akan membuat operasi
penggabungan menjadi lebih efisien.
• Sebuah atribut yang digunakan lebih sering untuk
mengakses tuple di dalam relasi yang ada.
33
3. Memperkirakan kapasitas disk yang dibutuhkan
Tujuannya untuk memperkirakan kira-kira berapa
besar kapasitas disk yang akan dibutuhkan oleh basis data.
Langkah 5 : Merancang user views
Tujuannya adalah untuk merancang user view yang
diidentifikasikan selama tahap pengumpulan dan analisa
kebutuhan dari sistem siklus pengembangan basis data.
Langkah 6 : Merancang mekanisme keamanan
Tujuannya adalah untuk merancang mekanisme keamanan
untuk basis data yang dispesifikasikan berdasarkan user selama
tahapan requirements and collection pada siklus pengembangan
sistem basis data.
2.2 Tool yang dpakai
2.2.1 Entity Relationship Diagram (ERD)
2.2.1.1 Pengertian ERD
Menurut Hoffer, Prescott, dan McFadden (2005, p93),
ERD (Entity Relationship Diagram) adalah representasi grafis
dari entity-relationship model. Entity Relationship Model (E-R
34
Model) adalah representasi logikal dari data untuk sebuah
organisasi atau untuk sebuah area bisnis.
Menurut Whitten (2004, p295), ERD adalah model data
yang menggunakan beberapa notasi untuk menggambarkan data
dalam hubungan antar entity dan relationship yang digambarkan
oleh data tersebut.
Menurut Rob, Coronel (2002, p815), ERD adalah diagram
yang menggambarkan entity, atribut, dan relasi dalam ERM
(Entity Relational Model).
2.2.1.2 Komponen ERD
1. Entitas (Entity)
Menurut Rob, Coronel (2002, p814), entitas adalah
sesuatu yang digunakan untuk tempat penyimpanan data
biasanya data-data tersebut berupa orang, tempat, objek,
kejadian atau konsep.
Strong Entity adalah entitas yang keberadaannya tidak
bergantung pada entitas lain.
Gambar 2.9 Simbol Strong Entity
Weak Entity adalah entitas yang keberadaannya bergantung
Entity
35
pada entitas lain.
Gambar 2.10 Simbol Weak Entity
Composite Entity adalah entitas yang dihasilkan dari
relationship many to many.
Gambar 2.11 Contoh Composite Entity
Entity
CLASS STUDENT Enrolls in
36
2. Relasi (Relationship)
Menurut Rob,Coronel (2002, p124), relasi adalah asosiasi
hubungan antara entitas. Entitas yang berhubungan dalam
relasi disebut participants.
Konektivitas antar relasi, antara lain:
a. Relasi 1:1
Gambar 2.12 Contoh Relasi 1:1
b. Relasi 1:M
teaches
Gambar 2.13 Contoh Relasi 1:M
User Password
has
Lecturer Class
37
c. Relasi M:M
Gambar 2.14 Contoh Relasi M:M
Relationship Participants terdiri dari 2 jenis, antara
lain:
a. Optional
Entitas yang ada tidak memerlukan occurrence
yang sama di dalam entitas yang berhubungan.
Ditunjukkan dengan menggambar sebuah
lingkaran kecil di salah satu sisi dari entitas
optional di dalam ERD.
Gambar 2.15 Contoh Optional Relationship
b. Mandatory
Entitas memerlukan occurrence yang sama di
dalam entitas yang saling berhubungan. Jika tidak
PROFESSOR CLASS teaches
Student Class takes
38
ada simbol optional yang ditunjukkan di dalam
ERD, maka itu adalah mandatory.
Gambar 2.16 Contoh Mandatory Relationship
Derajat relasi ada 3 yaitu :
a. Unary
Merupakan single entitas, bersifat rekursif, dan terjadi
pada entitas yang sama.
Gambar 2.17 Contoh Unary Relationship
b. Binary
Merupakan 2 entitas yang saling berhubungan.
COURSE
COURSE generates CLASS
requires
39
Gambar 2.18 Contoh Binary Relationship
c. Ternary
Merupakan 3 entitas yang saling berhubungan.
Gambar 2.19 Contoh Ternary Relationship
3. Atribut (Attribute)
Menurut Rob & Coronel (2002, p808), atribut adalah
karakter dari sebuah entitas atau objek. Atribut memiliki nama
dan tipe data.
PROFESSOR CLASS teaches
40
a. Simple Attribute
Menurut Rob, Coronel (2005, p121), Simple Attribute
adalah atribut yang tidak dapat dibagi lagi.
Contohnya umur, jenis kelamin.
Gambar 2.20 Simbol Atribut
b. Composite Attribute
Menurut Rob, Coronel (2002, p121), Composite Attribute
adalah atribut yang dapat dibagi menjadi atribut tambahan.
Contohnya atribut Alamat dapat dibagi menjadi jalan,
kota, propinsi, dan kode pos.
c. Single-valued Attribute
Menurut Rob, Coronel (2002, p121), Single-valued
Attribute adalah atribut yang hanya dapat memiliki 1 nilai.
Contohnya 1 orang hanya dapat memiliki 1 nomor KTP.
d. Multi-valued Attribute
Menurut Rob, Coronel (2002, p121), Multi-valued
Attribute adalah atribut yang dapat memiliki banyak nilai.
STUDENT
Stu_Name
Stu_Initial
Stu_Email
41
Contohnya seseorang dapat memiliki banyak nomor
telepon (HP, kantor, rumah).
e. Derived Attribute
Menurut Rob, Coronel (2002, p123), Derived Attribute
tidak butuh disimpan secara fisikal di dalam database.
Derived Attribute adalah atribut yang memiliki nilai yang
merupakan nilai turunan dari atribut lainnya. Contohnya
atribut EMP_AGE bisa didapatkan dari atribut lain yaitu
dari tanggal sekarang dikurangi dengan nilai EMP_DOB
kemudian dibagi dengan 365 hari.
42
2.2.1.3 Contoh ERD
Gambar 2.21 Contoh ERD
(Rob, Coronel, 2002, p159)
43
2.2.2 Data Flow Diagram (DFD)
Menurut Whitten (2004, p344), Data Flow Diagram
adalah model proses yang digunakan untuk menggambarkan
aliran data yang melalui sebuah sistem dan proses yang
ditampilkan oleh sistem tersebut.
Ada 3 buah simbol dan 1 buah koneksi di dalam DFD :
• Sebuah bujur sangkar yang dibulatkan yang mewakili
proses atau pekerjaan yang sudah diselesaikan.
• Sebuah persegi yang mewakili perantara eksternal-batas
dari sebuah sistem.
• Sebuah kotak yang terbuka mewakili penyimpanan data,
yang kadang-kadang disebut juga arsip atau basis data.
• Anak panah mewakili aliran data, atau input dan output, ke
dan dari proses.
2.2.2.1 Proses
Menurut Whitten (2004, p347), proses adalah
pekerjaan yang sedang berjalan, atau respon pada sebuah
aliran data atau kondisi yang akan datang. Sinonimnya
adalah perubahan bentuk atau transformasi.
44
Gambar 2.22 Simbol-Simbol dari proses
(Whitten, 2004, p 347)
2.2.2.2 Aliran Data atau Data Flow
Menurut Whitten (2004, p357), aliran data atau
data flow adalah sebuah aliran data mewakili sebuah input
data ke dalam proses atau output data (atau informasi) dari
sebuah proses. Aliran data ini juga digunakan untuk
mewakili kreasi, pembacaan, penghapusan, atau
memperbaharui data di dalam sebuah arsip atau basis data.
Gambar 2.23 Simbol dari data flow
(Whitten, 2004, p357)
2.2.2.3 External Agent
Menurut Whitten (2004, p363), external agent
adalah orang, unit organisasi, sistem, atau organisasi yang
berinteraksi dengan sebuah sistem.
45
Gambar 2.24 Simbol-Simbol dari external agent
(Whitten, 2004, p365)
2.2.2.4 Data Store
Data store adalah sebuah penyimpanan data-data.
Data store menyimpan data yang akan digunakan untuk
masa mendatang.
Gambar 2.25 Simbol-Simbol dari data store
(Whitten, 2004, p366)
46
2.2.2.5 Contoh DFD
Gambar 2.26 Contoh DFD
(Whitten, 2004, p346)
2.2.2.6 Context DFD
Model proses yang digunakan untuk
mendokumentasikan ruang lingkup dari sebuah sistem.
Disebut juga model environmental. Sistem context DFD
dibuat untuk membangun inisialisasi ruang lingkup
proyek.
47
Gambar 2.27 Contoh Context DFD
(Whitten, 2004, p373)
2.2.3 State Transition Diagram (STD)
2.2.3.1 Pengertian STD
Menurut Booch, Jacobson, dan Rumbaugh (2005,
p199/602), state transition diagram digunakan untuk
menunjukkan keadaan/s tate dari suatu kelas atau konteks, kondisi
atau keadaan yang menyebabkan peralihan dari suatu state ke
state yang lain, dan aksi yang mengakibatkan perubahan state.
State transition diagram digunakan untuk menyatakan sifat
48
dinamis dari sistem. Dua elemen pokok state transition diagram
adalah state dan state transition.
2.2.3.2 Komponen STD
1. State
State dari suatu objek menggambarkan hasil kumulatif
dari perilaku objek itu sendiri. (Booch, Jacobson, dan
Rumbaugh, 2005, p200)
2. State Transition
Event merupakan kejadian yang dapat menyebabkan
state sistem berubah. Perubahan state ini disebut state
transition. Setiap state transition menghubungkan dua state.
(Booch, Jacobson, dan Rumbaugh, 2005, p201)
Gambar 2.28 Simbol STD
Event [guard] / action
State Icon name
actions
State Transition
Start
Stop
49
2.2.3.3 Contoh STD
Gambar 2.29 Contoh STD
(Booch, Jacobson, dan Rumbaugh, 2005, p203)
2.3 Teory khusus
2.3.1 Data
Dalam pendekatan basis data tidak hanya berisi basis data itu
sendiri tetapi juga termasuk definisi atau deskripsi dari data yang
disimpan. Data adalah informasi yang disimpan dalam sistem katalog,
yang berisi informasi tentang struktur tiap berkas, tipe dan format
Idle
Daytime
Nighttime
Define Climate
Terminate
CliSunset /
i h ff()
Sunrise /
i h ()
Temperature drop or rise /
dj ()
Temperature drop or rise /
dj ()
Terminate
Cli
50
peryimpanan tiap item data, dan berbagai hambatan dari data. Semua
informasi yang disimpan dalam sistem catalog ini biasa disebut meta-
data.
Menurut Turban (2003, p15), data adalah fakta mentah atau
deskripsi dasar dari sesuatu, kejadian, aktivitas, dan transaksi yang
didapat, dicatat, disimpan, dan dikelompokkan, namun tidak terorganisasi
sehingga tidak memberikan suatu arti yang spesifik.
2.3.2 Customer Relationship Management
Suatu jenis manajemen yang secara khusus membahas teori
mengenai penanganan hubungan antara perusahaan dengan pelanggannya
dengan tujuan meningkatkan nilai perusahaan di mata para pelanggannya.
Pengertian lain mengatakan bahwa ia adalah sebuah sistem informasi
yang terintegrasi yang digunakan untuk merencanakan, menjadwalkan,
dan mengendalikan aktivitas-aktivitas prapenjualan dan pascapenjualan
dalam sebuah organisasi. CRM melingkupi semua aspek yang
berhubungan dengan calon pelanggan dan pelanggan saat ini, termasuk di
dalamnya adalah pusat panggilan (call center), tenaga penjualan (sales
force), pemasaran, dukungan teknis (technical support) dan layanan
lapangan (field service).
51
2.3.2.1 Sasaran dan Tujuan
Sasaran utama dari CRM adalah untuk meningkatkan
pertumbuhan jangka panjang dan profitabilitas perusahaan
melalui pengertian yang lebih baik terhadap kebiasaan (behavior)
pelanggan. CRM bertujuan untuk menyediakan umpan balik yang
lebih efektif dan integrasi yang lebih baik dengan pengendalian
return on investment (ROI) di area ini.
Otomasi Tenaga Penjualan (Sales force automation/SFA),
yang mulai tersedia pada pertengahan tahun 80-an adalah
komponen pertama dari CRM. SFA membantu para sales
representative untuk mengatur account dan track opportunities
mereka, mengatur daftar kontak yang mereka miliki, mengatur
jadwal kerja mereka, memberikan layanan training online yang
dapat menjadi solusi untuk training jarak jauh, serta membangun
dan mengawasi alur penjualan mereka, dan juga membantu
mengoptimalkan penyampaian informasi dengan news
sharing.SFA, pusat panggilan (bahasa inggris : call center) dan
operasi lapangan otomatis ada dalam jalur yang sama dan masuk
pasaran pada akhir tahun 90-an mulai bergabung dengan pasar
menjadi CRM. Sama seperti ERP (bahasa Inggris : Enterprise
Resource Planning), CRM adalah sistem yang sangat
komprehensif dengan banyak sekali paket dan pilihan.
52
Merujuk kepada Glen Petersen, penulis buku "ROI: Building the
CRM Business Case," sistem CRM yang paling sukses ditemukan
dalam organisasi yang menyesuaikan model bisnisnya untuk
profitabilitas, bukan hanya merancang ulang sistem informasinya.
CRM mencakup metoda dan teknologi yang digunakan
perusahaan untuk mengelola hubungan mereka dengan pelanggan.
Informasi yang disimpan untuk setiap pelanggan dan calon
pelanggan dianalisa dan digunakan untuk tujuan ini. Proses
otomasi dalam CRM digunakan untuk menghasilkan personalisasi
pemasaran otomatis berdasarkan informasi pelanggan yang
tersimpan di dalam sistem.
2.3.2.2 Fungsi-fungsi dalam CRM
Sebuah sistem CRM harus bisa menjalankan fungsi:
• Mengidentifikasi faktor-faktor yang penting bagi
pelanggan.
• Mengusung falsafah customer-oriented (customer centric)
• Mengadopsi pengukuran berdasarkan sudut pandang
pelanggan
• Membangun proses ujung ke ujung dalam melayani
pelanggan
• Menyediakan dukungan pelanggan yang sempurna
• Menangani keluhan/komplain pelanggan
53
• Mencatat dan mengikuti semua aspek dalam penjualan
• Membuat informasi holistik tentang informasi layanan dan
penjualan dari pelanggan.
2.3.3 Remote Authentication Dial-In User Service (RADIUS )
Sebuah protokol keamanan komputer yang digunakan untuk
melakukan autentikasi, otorisasi, dan pendaftaran akun pengguna secara
terpusat untuk mengakses jaringan. RADIUS didefinisikan di dalam RFC
2865 dan RFC 2866, yang pada awalnya digunakan untuk melakukan
autentikasi terhadap akses jaringan secara jarak jauh dengan
menggunakan koneksi dial-up. RADIUS, kini telah diimplementasikan
untuk melakukan autentikasi terhadap akses jaringan secara jarak jauh
dengan menggunakan koneksi selain dial-up, seperti halnya Virtual
Private Networking (VPN), access point nirkabel, switch Ethernet, dan
perangkat lainnya.
Radius banyak dipakai oleh Provider dan ISP internet untuk
authentikasi dan billingnya. Radius juga bisa dipakai oleh jaringan
RT/RW-Net untuk authentikasi para penggunanya dan untuk
mengamankan jaringan RT/RW-Net yang ada. Di indonesia sudah ada
service radius, namun berbayar seperti indohotspot.net. Ada juga service
yang tidak berbayar, dan dikelola oleh luar negeri seperti chillidog.org
Selain lebih menghemat budget, dan juga menghemat biaya maintenance,
54
sistem Radius yang di host di internet merupakan salah satu solusi murah
untuk para penggagas sistem HotSpot.
2.3.4 Sistem
Menurut joseph w.wilkinson (2000, p3) system adalah suatu
kerangka kerja terpadu yang mempunyai satu sasaran atau lebih. Menurut
mulyadi (2001, p8) mendefinisikan,”system adalah suatu jaringan yang
dibuat menurut pola yang terpadu untuk melaksanakan kegiatan pokok
perusahan” (p6) menurut mc leod yang diterjemahkan oleh teguh, H.
(2001) menulis, “system adalah sekelompok elemen yang terintegrasi
dengan maksud yang sama untuk mencapai suatu tujuan tertentu” (p.11),
tetapi menurut mathiassen, et al., 200, (p.9) “system adalah kumpulan
komponen yang mengimplementasikan model requerment, function, dan
interface”.
Jadi dapat disimpulkan bahwa system adalah sekumpulan elemen-
elemen yang saling berkaitan, berintegrasi dan bekerja sama untuk
mencapai suatu tujuan tertentu.
2.3.5 Biling
Menurut hunter dan thiebaud (2000, p164), customer service atau
bagian operasional bertanggung jawab dalam membangun dengan
pelanggan, termasuk dalam hal mengatur tagihan (billing). Sering kali
persepsi pelanggan terbentuk pada suatu perusahaan, bisa ditentukan atau
55
berkaitan dengan cara menangani billing atau tagihannya. Kemampuan
untuk melihat catatan-catatan transaksi yang dilakukan pelanggan
sebelumnnya, biasanya berdampak positif terhadap penilaian pelanggan.
Billing merupakan operasi/proses memasukan, menggabungkan
serta menghitung semua beban tagihan, khusus untuk pelangga untuk
selanjutnya dicetak dan menerima pembayaran dari tagihan tersebut.
(Hunter, jane.p.164).
Operasi billing bertanggung jawab untuk bisa mengelola secara
akurat informasi-informasi yang didapat dan dikumpulkan menjadi
bentuk tagihan-tagihan.
Dengan system billing, maka perusahaan bisa memperoleh banyak
informasi mengenai pelanggan, pelayanaan serta produk yang
dipesannya. Selain itu perusahaan juga bisa memperoleh informasi
pembayaran yang dilakukan pelanggan, megumpulkan dan menyimpan
data-data pembayaran yang bisa mendukung bisnis, pembuatan laporan
keuangan dan melakukan analisa.
2.3.6 Konsep Teknlogi Informasi
Menurut senn (1998, p12) teknologi informasi mengarah pada
banyak item dan kemampuan yang digunakan yang digunakan dalam
membuat, menyimpan dan penyebaran dari data dan informasi yang sama
baik dengan penciptaan pengetahuan. Data merupakan fakta mentah,
figures, dan detil. Informasi adalah pengorganisasian, pemaknaan dan
56
interpretasi berguna dari data, sedangkan pengetahuan merupakan
kesadaran dan pengertian dari suatu kumpulan iinformasi dan bagaimana
informasi tersebut dapat digunakan dengan tepat dan baik.
Menurut whitten al (2000, p45) teknologi informasi merupakan
istilah kontemporer yang menggambarkan kombinasi dari teknologi
komputer (perangkat keras dan lunak) dengan teknologi telekomunikasi
(data, gambar dan jaringan suara).
2.3.7 Prinsip Teknologi Informasi
Menurut senn (1998, p21) prinsip teknologi informasi ada 2 yaitu :
1. Teknologi informasi menjelaskan tujuan dari teknologi informasi,
yaitu kegunaan utama dari teknologi informasi adalah pemecah
masalah, memberi kebebasan dalam berkreatifitas dan membetuk
manusia menjadi lebih efektif daripada mereka tidak
mengaplikasikan teknologi informasi dalam aktifitasnya jadi yang
sama penting dengan aplikasi teknologi informasi ialah prinsip
teknologi tinggi : semakin canggih teknologi informasi yang
diinginkan, semakin penting untuk mempertimbangkan aspek
penggunaannnya.
2. Prinsip lain yang menekankan : selalu menempatkan teknologi
informasi ke orang bukan meminta orang untuk beradaptasi dengan
teknologi.
57
2.3.7.1 Fungsi Teknologi Informasi
Menurut senn (1998, p21) menjabarkan lima fungsi
teknologi informasi, yaitu :
1. Capture
Hal ini sering berguna untuk mengkompilasi detil
catatan dari aktifitas. Proses ini disebut pengambilan data
yang dilakukan ketika data yang diinginkan akan berguna.
2. Processing
Aktivitas ini sering diasosiasikan dengan
computer, processing, biasanya tujuan dari orang-orang
dan organisasi yang membeli computer. Fungsi proses
terdiri dari konversi, analisa, computing dan sintesisasi
semua bentuk data dari informasi.
3. Generation
Teknologi informasi sering digunakan untuk
menghasilkan informasi melalui pemprosesan. Hasil
merupakan informasi yang mengarah pada data organisasi
dan informasi menjadi suatu bentuk yang bermanfaat.
4. Storage and retrival
Storage mengijinkan computer untuk menyimpan
data dan informasi untuk keperluan masa depan. Retrival
merupakan mencari dan menyalin data atau informasi
58
yang tersimpan untuk proses lebih lanjut atau untuk
ditransmisikan pada pengguna lain.
5. Transmission
Mengirimkan data dan informasi dari satu lokasi ke
lokasi yang lain disebut tranmisi.
2.3.7.2 Keunggulan Teknologi Informasi
Menurut senn (1998, p25) ada empat keunggulan
teknologi informasi, sebagai berikut :
1. Kecepatan (speed)
Komputer melakukan semua hal dalam hitungan
detik. Komputer lebih cepat dibanding dengan manusia
untuk mengerjakan banyak tugas. Komputer dapat
melakukan kalkulasi rumit, memanggil kembali informasi
yang tersimpan, mengirim informasi dari satu tempat ke
tempat lain.
2. Konsisten (Consistency)
Manusia sering mendapat kesulitan mengulangi
tindakan mereka yang sama persis, sedagkan computer
melakukan sesuatu sekali tidak sulit dan melakukannya
lagi dengan hasil yang sama berulang-ulang kali.
Computer sangat baik dalam mengulangi aksi secara
konsisten.
59
3. Tepat (Precision)
Untuk menjadi cepat dan konsisten, computer
sangat cepat. Computer dapat menemukan perbedaan-
perbedaan yang tidak dapat manusia lihat.
4. Dapat dihandalkan (Reliability)
Dengan kecepatan, konsistensi, dan ketepatan
munculan keandalan. Ketika dketahui prosedur yang sama
akan diikuti, secara cepat, konsisten dan tepat, maka bisa
ditemukan keandalan hasil, yang mana bentuk lain dari
kehandalan yaitu keandalan penggunaan.
2.3.8 Web Based Application
2.3.8.1 Pengertian
Web Application atau yang sering disebut dengan web app
adalah aplikasi yang dapat diakses web browser melalui jaringan
seperti internet dan intranet, Web application menjadi popular
dikarenakan kemampuan ubiquity browser sebagai klien, biasanya
disebut thin klien. Kemampuan untuk mengubah dan memelihara
aplikasi web tanpa mengganggu dan menginstall perangkat lunak
terhadap ribuan dari computer klien secara potensial adalah alasan
kunci dari kepopularitasannya. Aplikasi web digunakan untuk
mengimplementasikan web mail, penjualan online, pelelangan
60
online, wikis, forum diskusi, web blog, MMORPGs, dan banyak
fungsi-fungsi lainnya.
2.3.8.2 Struktur
Walaupun banyak variasi yang memungkinkan,
kebanyakan strutur aplikasi web adalah aplikasi three-tired.
Dalam bentuk umumnya, web browser adalah first tier, mesin
yang menggunakan beberapa isi teknologi web dinamik
(contohnya CGI, PHP, Java Servlet, ataupun ASP) menjadi
second tier, yang akan melayani request tersebut dengan membuat
query dan mengubah database (basis data) serta me-generate
interface pemakai.
2.3.9 Jaringan dan Komponen – komponennya
2.3.9.1 Internet
Menurut Thomas Connolly, “Internet adalah jaringan
intranet dunia yang saling terhubung”. Internet terdiri dari banyak
bagian tetapi melalui jaringan yang dimiliki komersil, pendidikan
dan organisasi pemerintahan, dan Internet Service Providers
(ISPs). Pelayanan yang terdapat di Internet meliputi surat
elektronik (e-mail), conferencing dan chat services, begitu juga
kemampuan untuk mengakses computer jarak jauh, dan mengirim
serta menerima files.
61
2.3.9.2 Intranet
Menurut Thomas Connolly, “intranet adalah sebuah web
site atau group of sites yang di miliki oleh suatu organisasi, dan
hanya bisa di akses oleh anggota dari organisasi tersebut”.
2.3.9.3 World Wide Web
Menurut Thomas Connolly, ”The Web adalah sistem yang
berbasis hypermedia yang menyediakan penjelajahan informasi di
internet dengan cara yang tidak berkelanjutan dengan
menggunakan hyperlinks”.
2.3.9.4 HyperText Markup Language (HTML)
Menurut Thomas Connolly, ”Format bahasa dari dokumen
yang banyak digunakan untuk merancang halaman Web”.
2.3.9.5 HyperText Transfer Protocol (HTTP)
Menurut Thomas Connolly, ”HTTP yaitu sebuah protocol
yang digunakan untuk mentransfer web pages melalui internet”.
2.3.9.6 Web Browser
Web Browser adalah perangkat lunak aplikasi yang
digunakan untuk mengalokasikan dan menampilkan halaman web.
Web Browser yang sering digunakan adalah Microsoft Internet
62
Explorer dan Mozilla Firefox. Keduanya adalah browser grafikal,
yang maksudnya adalah ia dapat menampilkan gambar sebaik
menampilkan teks. Kebanyakan modern browser dapat
mempresentasikan informasi multimedia, termasuk suara dan
video, walaupun mereka membutuhkan plug-in untuk beberapa
format.
2.3.9.7 TCP/IP
TCP/IP adalah salah satu jenis protocol yang
memungkinkan kumpulan computer untuk berkomunikasi dan
bertukar data di dalam suatu jaringan. Layanan yang diberikan
oleh TCP/IP antara lain adalah:
- File Transfer.
- Remote Login.
- Komputer mail.
- Network File Sistem.
- Remote Execution.
- Name Server.
63
2.3.10 Rekayasa Piranti Lunak
2.3.10.1 Karakteristik
1. Perangkat lunak yang dikembangkan atau dirancang,
bukan diproduksi seperti pada pengertian klasik.
Meskipun terdapat kemiripan antara pengembangan
perangkat lunak dan perangkat keras (hardware), namun pada
dasarnya kedua hal tersebut adalah berbeda. Keduanya
memerlukan desain yang baik untuk mencapai kualitas tinggi,
namun produksi perangkat keras dapat menemukan masalah
dalam kualitas, sedangkan dalam pengembangan perangkat
lunak, hal tersebut tidak terjadi (jika terjadi maka mudah
diperbaiki).
2. Perangkat lunak tidak akan habis dipakai.
Pada perangkat keras yang rusak, terdapat spare_part
yang dapat menggantikannya. Sedangkan pada perangkat
lunak, tahap pemeliharaan tidak semudah perangkat keras
karena tidak memiliki spare_part apapun. Saat perangkat
lunak menemukan kegagalan, berarti terjadi kesalahan pada
desain atau proses.
64
3. Kebanyakan perangkat lunak dibuat berdasarkan
pesanan walaupun industri mengarah pada perakitan
berbasiskan komponen.
Suatu komponen perangkat lunak harus dirancang dan
mampu diterapkan pada berbagai jenis program. Dengan
demikian, komponen perangkat lunak tersebut dapat
digunakan berulang kali dan dimanipulasi, sehingga
memungkinkan untuk menghasilkan suatu perangkat lunak
yang berbeda.
2.3.11 Interaksi Manusia dan Komputer
Seiring dengan perkembangan Teknologi Informasi, berbagai
macam program baru bermunculan dengan perancangan yang menarik.
Namun hal itu belumlah cukup, karena bisanya user lebih menginginkan
adanya interaksi dengan program-program yang mudah dioperasikan
(user friendly), agar mereka dapat lebih mudah dalam menjalankan
program tersebut. Hal inilah yang mendasari lahirnya sebuah ilmu baru
yang disebut interaksi manusia dan computer.
Secara garis besar, interaksi manusia dan computer merupakan suatu
disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan
implementasi sistem komputer yang interaktif untuk digunakan oleh
manusia, serta merupakan suatu study terhadap fenomena–fenomena besar
yang berhubungan dengannya. Ilmu ini secara khusus menitikberatkan
65
pada perancangan dan evaluasi antar pemakai (user interface) dengan
tujuan seseorang dapat membuat sistem interaksi dengan memperhatikan
kaedah interkasi dan komunikasi.
2.3.11.1 Delapan Aturan Emas Perancangan User Interface
Delapan aturan emas perancangan user interface yaitu:
1. Berusaha untuk konsisten.
Rangkaian konsisten dari aksi harus dipenuhi dalam situasi
yang sama, terminologi sama harus digunakan dalam prompts,
menu-menu, dan layar help, dan perintah konsisten harus di
pekerjakan seluruhnya.
2. Memungkinkan frekuensi user menggunakan shortcuts.
Pada saat frekuensi dari user meningkat, user juga
berkeinginan untuk mengurangi jumlah dari interaksi dan
untuk meningkatkan langkah dari interaksi, singkatan, function
keys, perintah tersembunyi, dan fasilitas makro sangat
membantu untuk pengguna ahli.
3. Memberikan umpan balik yang informatif.
Untuk semua tindakan operator, harus ada beberapa umpan
balik sistem, untuk tindakan yang sering dan minor, respon
dapat menjadi sederhana, sementara untuk tindakan yang
66
jarang dan utama, respon harus lebih banyak.
4. Merancang dialog yang memberikan keadaan
akhir/penutupan.
Rangkaian dari tindakan harus disusun kedalam grup
dengan permulaan, pertengahan, dan akhiran. Feedback yang
informatif pada penyelesaian dari kumpulan tindakan
memberikan operator kepuasan dari prestasi, perasaan lega,
sinyal untuk meletakan kemungkinan rencana dan pilihan dari
pikiran mereka, dan indikasi yang caranya adalah bersih untuk
mempersiapkan tindakan dari grup berikutnya.
5. Memberikan pencegahan kesalahan dan penanganan
kesalahan yang sederhana.
Sebanyak mungkin, mendesain sistem sehingga user tidak
bisa membuat kesalahan yang serius. Apabila kesalahan
dibuat, sistem harus mampu untuk mendeteksi kesalahan dan
menawarkan mekanisme untuk mengatasi kesalahan yang
simpel.
6. Memungkinkan pembalikkan aksi yang mudah
Fitur ini mengurangi kegelisahan, sejak user mengetahui
bahwa kesalahan tidak bisa diselesaikan. Demikian hal itu
67
akan mendorong eksplorasi dari pilihan yang tidak familiar.
Unit dari reversibility mungkin menjadi tindakan tunggal, data
entry, atau kumpulan tindakan yang lengkap.
7. Mendukung pusat kendali internal (internal focus of
control )
Operator yang berpengalaman berkeinginan kuat mengenai
rasa yang mereka berkuasa dari sistem dan sistem merespon
kepada tindakan mereka. Mendesain sistem untuk membuat
user menjadi inisiator dari tindakan dibandingkan responder.
8. Mengurangi beban ingatan jangka pendek
Pembatasan dari proses informasi manusia dalam ingatan
waktu yang pendek membutuhkan tampilan menjadi simpel,
tampilan beberapa halaman menjadi gabungan, frekuensi
windows-motion menjadi dikurangi, dan waktu latihan yang
cukup menjadi alot untuk kode, mnemonic, dan rangkaian dari
tindakan.
68
2.3.12 Alat Bantu Pengembangan Sistem
2.3.12.1 PHP
PHP adalah teknologi server-side scripting yang digunakan
untuk aplikasi web yang dinamis dan interaktif. Sebuah halaman
PHP adalah sebuah halaman HTML yang memiliki server-side
scripts yang ditempatkan dalam server dan diproses oleh
webserver sebelum dikirim ke browser pemakai. Server-side
scripts dijalankan ketika browser melakukan permintaan file.php
dari serer. PHP dipanggil oleh webserver, dimana proses script
perintah yang ada di suatu halaman di eksekusi mulai dari awal
sampai akhir di dalam mesin PHP setelah script PHP tersebut di
olah, hasilnya akanditampilkan kepada client melalui web
browser berupa tampilan HTML. Penulisan script PHP diawali
tanda <? Dan diakhiri tanda ?>.
Kelebihan-kelebihan dari PHP:
Kecepatan akses yang tinggi.
Dapat bekerja dalam web server yang berbeda dan sistem
operasi yang berbeda.
PHP adalah freeware dan open source.
Merupakan bahasa pemrograman yang embedded.
Dapat berjalan pada berbagai platform : Apache, IIS,
Microsoft Personal Web Server.
69
Alasan mengapa menggunakan PHP dan berbasis web
adalah :
Bahasa pemrograman PHP terbukti sangat handal dalam
membangun sebuah program berbasis web.
Waktu yang digunakan untuk memproses data dan
menjalankan perintah-perintah query yang sangat cepat.
Dengan berjalan dalam sebuah web server, maka secara
otomatis program ini bersifat multi user.
Database MySQL menyimpan data di dalam direktori
khusus yang terpisah dari file program PHP sehingga
keamanan data lebih terjamin.
Web server dan database server terpisah sehingga
menyulitkan pihak luar untuk mengakses data yang
terdapat di dalam database.
• Bahasa program PHP dan database MySQL lebih fleksibel
karena dapat diakses oleh system operasi Windows
ataupun Linux.
• Program dapat diakses dari komputer manapun tanpa harus
menginstall program client. Program bantuan untuk
mengakses sistem ini hanyalah sebuah browser.
70
2.3.12.2 MySQL
MySQL merupakan suatu Relational Database
Management System (RDBMS) yang cepat dan kuat. (Luke, 2001,
p3). MySQL memungkinkan secara efisien menyimpan, mencari,
mengurutkan dan mendapatkan data. MySQL menggunakan
Structured Query Language (SQL) sebagai standar query
basisdata.
Kelebihan-kelebihan MySQL menurut Indrajit (2002, p5), yaitu :
a. Tidak membutuhkan ruang harddisk yang besar untuk
aplikasinya.
b. Standards supported. MySQL mendukung level masukan
ANSI SQL-92 dan ODBC level 0-2 standar SQL.
c. Language support. Database server MySQL dapat
menampilkan pesan error dalam banyak bahasa.
d. Large table. MySQL menyimpan masing-masing tabel dalam
database seperti file, terpisah dalam direktori database.
Ukuran maksimum tabel berkisar antara 4GB.
e. Kecepatan, kekuatan dan kemudahan untuk digunakan.
MySQL lebih cepat tiga atau empat kali dari database
komersial lain. MySQL sangat mudah untuk dikendalikan dan
tidak membutuhkan database administrator terlatih untuk
menginstalnya.
71
f. Cost advantage. MySQL adalah database relasional yang
open source sehingga dapat digunakan secara gratis.
2.3.12.3 Web Server
Web server adalah sebuah perangkat lunak server yang
berfungsi menerima permintaan HTTP atau HTTPS dari client
dengan browser web dan mengirimkan kembali hasilnya dalam
bentuk halaman-halaman web yang umumnya berbentuk dokumen
HTML. Web server yang terkenal adalah Apache dan Microsoft
Internet Information Services (IIS). Apache merupakan web sever
antar-platform, sedangkan IIS hanya dapat beroperasi di sistem
operasi Windows.
2.3.12.4 Macromedia Dreamweaver 8
Macromedia Dreamweaver 8 merupakan suatu editor
HTML professional untuk perancangan peng_kodean,
pengembangan website, halaman web, dan aplikasi web.
Macromedia Dream weaver 8 juga menyediakan tools
yang sangat membantu meningkatkan pengalaman dalam
pembuatan web yang powerfull. Berbagai fitur visual editing pada
macromedia Dreamweaver 8 mengijinkan anda untuk membuat
halaman web dengan cepat tanpa harus menuliskan satu baris
kode.