7 BAB 2 TINJAUAN PUSTAKA 2.1 Teori Umum 2.1.1

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1
Teori Umum
2.1.1 Pengertian Data
Data adalah fakta atau observasi mentah yang biasanya
mengenai fenomena fisik atau transaksi bisnis. Lebih khusus lagi, data
adalah ukuran objektif atribut dari entitas seperti orang-orang, tempat,
benda, atau kejadian (Indrajani, 2011: 2).
Data adalah komponen yang paling penting dalam DBMS,
berasal dari sudut pandang end-user. Data bertindak sebagai jembatan
yang menghubungkan antara mesin dengan pengguna (Connolly &
Begg, 2010: 70).
2.1.2 Pengertian Basis Data
Basis data adalah suatu kumpulan logikal data yang
berhubungan dan dekripsi dari data tersebut yang dirancang untuk
kebutuhan informasi suatu organisasi (Connolly & Begg, 2010: 65).
Basis data adalah kumpulan file yang saling terkait. Basis data
tidak hanya merupakan kumpulan file. Record pada setiap file harus
memperbolehkan hubungan-hubungan untuk menyimpan file lain
(Whitten & Bentley, 2007: 518).
Keuntungan basis data (Whitten & Bentley, 2007: 520) yaitu :
1) Kemampuannya untuk menggunakan data yang sama di banyak
aplikasi dan sistem.
2) Penyimpanan data dalam format yang fleksibel. Hal ini
didefinisikan secara terpisah dari sistem informasi dan programprogram aplikasi yang akan menggunakan basis data.
3) Teknologi basis data menyediakan skalabilitas superior, dalam
arti basis data dan sistem yang menggunakannya dapat
7
8
ditingkatkan atau dikembangkan untuk memenuhi kebutuhankebutuhan perubahan pada sebuah organisasi.
4) Kemajuan independensi data yang sangat mengurangi redudansi
data, telah meningkatkan fleksibilitas. Berdasarkan pengertian di
atas, dapat disimpulkan basis data adalah sekumpulan data yang
terintegrasi dan di rancang untuk memelihara informasi dan
membuat informasi tersebut tersedia untuk memenuhi suatu
kebutuhan organisasi.
2.1.3 Pengertian Database Management System (DBMS)
Database Management System (DBMS) adalah sistem
perangkat
lunak
yang
memungkinkan
pengguna
untuk
mendefinisikan, membuat, memelihara, dan mengawasi akses ke
database (Connolly & Begg, 2010: 66).
Ada beberapa keuntungan dari Database Management System
(DBMS) diantaranya (Connolly & Begg, 2010: 77-80) :
1)
Mengendalikan pengulangan data
2)
Menjaga konsistensi data
3)
Mendapatkan banyak informasi dari sejumlah data yang sama
4)
Dapat saling berbagi data
5)
Meningkatkan integritas data
6)
Meningkatkan keamanan data
7)
Menerapkan standarisasi
8)
Dapat mengurangi biaya
9)
Menyeimbangkan konflik kebutuhan
10) Meningkatkan kemampuan pengaksesan dan respon pada data
11) Meningkatkan produktivitas
12) Meningkatkan pemeliharaan melalui kemandirian data
13) Meningkatkan konkurensi
14) Meningkatkan pelayanan backup dan services
9
2.1.3.1 Data Definition Language (DDL)
DDL
merupakan
memperbolehkan
seorang
suatu
DBA
bahasa
atau
user
yang
untuk
mendeskripsikan dan memberi nama suatu entitas, atribut,
dan relasi data yang diperlukan oleh aplikasi, bersama
dengan integritas dan batasan keamanan datanya (Connolly
& Begg, 2010: 92).
Perintah-perintah DDL yang digunakan diantaranya:
1)
Create Table, digunakan untuk membuat tabel dengan
mengidentifikasikan tipe data untuk setiap kolom.
2)
Alter
Table,
digunakan
untuk
menambah
atau
membuang
atau
membuang kolom dari konstrain.
3)
Drop
Table,
digunakan
untuk
menghapus tabel berserta semua data yang terkait
didalamnya.
4)
Create Index, digunakan untuk membuat index pada
suatu tabel.
5)
Drop
Index,
digunakan
untuk
membuang
atau
menghapus index yang telah dibuat sebelumnya.
2.1.3.2 Data Manipulation Language (DML)
DML merupakan bahasa yang menyediakan satu set
operasi untuk mendukung pengoperasian manipulasi data
dasar pada basis data (Connolly & Begg, 2010: 92).
Pengoperasian data yang akan dimanipulasi pada umumnya
meliputi (Connolly & Begg, 2010: 92):
1)
Penambahan data baru ke dalam basis data.
2)
Modifikasi data yang disimpan dalam basis data.
3)
Pengembalian data yang terdapat dalam basis data.
10
4)
Penghapusan data dari basis data.
Perintah-perintah yang ada pada DML diantaranya:
a) Select, digunakan untuk menampilkan sebagian atau
seluruh isi dari suatu tabel dan menampilkan kombinasi
isi dari beberapa tabel.
b) Update, digunakan untuk mengubah isi satu atau
beberapa atribut dari suatu tabel.
c) Insert, digunakan untuk menambah satu atau beberapa
baris nilai baru ke dalam suatu tabel.
d) Delete, digunakan untuk menghapus sebagian atau
seluruh isi dari suatu tabel.
2.1.4 Perancangan Basis Data (Database Design)
Perancangan basis data merupakan suatu proses pembuatan
sebuah desain yang akan mendukung tujuan dan operasi dari
perusahaan untuk kebutuhan sistem basis data (Connolly & Begg,
2010: 320).
Perancangan suatu basis data terdiri dari tiga fase utama, yaitu
perancangan basis data konseptual (Conseptual Database Design),
perancangan basis data logikal (Logical Database Design), dan
perancangan basis data fisikal (Physical Database Design) (Connolly
& Begg, 2010: 467).
2.1.4.1 Perancangan
Basis
Data
Konseptual
(Conceptual
Database Design)
Perancangan basis data konseptual adalah proses
membangun sebuah model informasi yang digunakan di
perusahaan, yang terlepas dari semua pertimbanganpertimbangan fisik (Connolly & Begg, 2010: 322). Tujuan
dari
perancangan
basis
data
konseptual
adalah
11
mengidentifikasi entitas penting beserta atribut-atributnya
dan hubungan antara entitas yang satu dengan entitas yang
lain (Connolly & Begg, 2010: 465).
Entity relationship model merupakan salah satu model
yang dapat memastikan pemahaman yang tepat terhadap
data dan bagaimana penggunaannya di dalam suatu
organisasi.
Model ini menggunakan pendekatan Top-Down dalam
merancang database, di mulai dengan mengidentifikasikan
data penting yang di sebut entity dan relationship antara data
yang harus direpresentasikan ke dalam model, kemudian
ditambahkan beberapa atribut dan constraint pada entity,
attribute dan relationship (Connolly & Begg, 2010: 371).
Langkah 1: Membangun model data konseptual
1.1. Identifikasi tipe entity
Langkah
pertama
dalam
membangun
sebuah
konseptual data model adalah menentukan objek utama
di mana user terlibat di dalamnya. Tujuan dari langkah
ini adalah untuk mengidentifikasi tipe entity (Connolly
& Begg, 2010: 471). Tipe entity adalah sekumpulan
objek
dengan
diidentifikasikan
properti
di
dalam
yang
sama,
perusahaan
yang
karena
keberadaannya yang mandiri (Connolly & Begg, 2010:
372). Sedangkan kejadian entity adalah sebuah objek
dari satu tipe entity yang dapat di identifikasi secara
unik.
Tipe entity dapat dikelompokkan menjadi:
a) Tipe entity kuat
12
Tipe
entity
kuat
adalah
tipe
entity
yang
keberadaannya tidak bergantung pada tipe entity
lainnya (Connolly & Begg, 2010: 383).
b) Tipe entity lemah
Tipe
entity
lemah
adalah
tipe
entity
yang
keberadaannya bergantung pada tipe entity lainnya
(Connolly & Begg, 2010: 383).
Gambar 2.1 Strong Entity dan Weak Entity (Connolly & Begg, 2010: 384)
1.2. Identifikasi tipe relationship
Tujuan dari langkah ini adalah untuk mengidentifikasi
relationship-relationship penting yang ada di antara
tipe entity (Connolly & Begg, 2010: 471).
Tipe relationship adalah
sekumpulan
hubungan
antara satu atau lebih entitas (Connolly & Begg,
2010: 374).
Relasi menurut hubungan dengan entitas lain dapat
dibagi menjadi (Connolly & Begg, 2010: 376) :
1) Binary
Relationship:
Relationship
keterhubungannya antara dua tipe entitas.
yang
13
Gambar 2.2 Binary Relationship (Connolly & Begg, 2010: 376)
2) Ternary
Relationship:
Relasionship
yang
keterhubungannya antara tiga tipe entitas.
Gambar 2.3 Ternary Relationship (Connolly & Begg, 2010: 377)
3) Quarternary
Relationship:
Relationship
keterhubungannya antara empat tipe entitas.
yang
14
Gambar 2.4 Quarternary Relationship (Connolly & Begg, 2010:
377)
Relasi mempunyai batasan (constraint) utama
yang harus merefleksikan larangan dalam hubungan
seperti di dunia nyata yang disebut multiplicity
(Connolly & Begg, 2010: 385). Tanda ◄ menunjukan
arah yang benar agar pembaca dapat mengartikan
maksud dari relasi tersebut (Contohnya, Branch Has
► Staff).
Gambar 2.5 Identifikasi Relationship (Connolly & Begg, 2010: 376)
15
Multiplicity terdiri dari dua jenis constraint,
yaitu (Connolly & Begg, 2010: 390) :
a. Cardinality, yaitu penggambaran jumlah maksimum
dari kemungkinan batasan sebuah entitas yang ikut
berpartisipasi
dalam
sebuah
relasi.
Mapping
Cardinalities menunjukkan jumlah entitas yang
dapat
dihubungkan melalui
sebuah hubungan
(Connolly & Begg, 2010: 390).
b. Participation,
yaitu
penggambaran
yang
menentukan apakah semua atau hanya beberapa
entity occurance (anggota entitas) yang ikut
berpartisipasi dalam sebuah hubungan (Connolly &
Begg, 2010: 391).
Gambar 2.6 Contoh Cardinality dan Participation (Connolly & Begg,
2010: 391)
16
1.3.
Identifikasi dan asosiasi atribut
entitas
dengan
entitas-
dan relationship yang telah dipilih untuk
digambarkan dalam database.
Tujuan
dari
langkah
ini
adalah
untuk
mengasosiasikan attribute dengan tipe entity atau tipe
relationship yang sesuai (Connolly & Begg, 2010:
474).
Atribut adalah properti dari sebuah entity atau
relationship. Atribut juga diartikan sebagai properti
deskriptif
atau
karakteristik
dari
sebuah
entity
(Connolly & Begg, 2010: 379).
Atribut menampung nilai yang menjelaskan
setiap kejadian entity dan menggambarkan bagian
utama dari data yang di simpan dalam database
(Connolly & Begg, 2010: 379).
1) Atribut domain
Atribut domain adalah sejumlah nilai yang diizinkan
untuk nilai lebih untuk satu atau lebih atribut. Domain
menetapkan bahwa sebuah atribut mungkin menahan
dan serupa dengan konsep domain pada model
relationship (Connolly & Begg, 2010: 379).
2) Atribut simpel
Atribut simple adalah sebuah atribut yang di susun dari
komponen tunggal dengan keberadaan yang mandiri.
Atribut simpel tidak bisa dibagi lebih jauh lagi ke
komponen yang lebih kecil. Seperti contoh posisi entity
dan gaji karyawan. Atribut simpel dapat di sebut juga
atomic atribut (Connolly & Begg, 2010: 379).
3) Atribut komposit
Atribut komposit adalah sebuah atribut yang disusun
dari komponen yang berlipat ganda, masing-masing
17
dengan sebuah keberadaan yang bebas. Beberapa
atribut dapat di bagi lebih jauh lagi ke hasil komponen
yang lebih kecil dengan keberadaan mandiri yang
dimiliki atribut itu sendiri (Connolly & Begg, 2010:
380).
4) Atribut single-valued
Atribut yang mempunyai nilai tunggal untuk setiap
kejadian pada sebuah tipe entity (Connolly & Begg,
2010: 380).
5) Atribut multi-valued
Atribut yang mempunyai beberapa nilai untuk setiap
kejadian pada sebuah tipe entity (Connolly & Begg,
2010: 380).
6) Atribut derivasi
Atribut yang mewakili sebuah nilai yang dapat
diturunkan dari atribut lain yang berhubungan atau
kumpulan dari beberapa atribut, dan tidak harus berasal
dari entity yang sama (Connolly & Begg, 2010: 380).
1.4.
Menentukan atribut domain
Tujuan
dari
langkah
ini
adalah
untuk
menentukan domain untuk atribut-atribut di dalam data
model konseptual local (Connolly & Begg, 2010: 478).
1.5.
Menentukan candidate dan primary key
Menentukan kandidat key untuk setiap tipe
entitas dan jika ada lebih dari satu candidate key
untuk memilih satu untuk dijadikan primary key
(Connolly & Begg, 2010: 479).
Ada beberapa macam keys, antara lain :
1) Candidate key
Candidate key adalah sejumlah kecil atribut yang
secara unik mengidentifikasikan setiap kejadian dari
setiap tipe entity (Connolly & Begg, 2010: 381).
18
2) Primary key
Primary key adalah candidate key yang terpilih untuk
mendefinisikan secara unik pada setiap kejadian dari
sebuah tipe entity (Connolly & Begg, 2010: 381).
3) Composite key
Composite key adalah sebuah candidate key yang
terdiri dari dua atau banyak atribut (Connolly & Begg,
2010: 382).
4) Foreign key
Foreign key adalah himpunan atribut dalam suatu
relationship yang cocok dengan candidate key dari
beberapa relationship lainnya (Indrajani, 2011: 42).
5) Alternate key
Alternate key adalah candidate key yang tidak terpilih
menjadi primary key, atau biasa di sebut secondary key
(Indrajani, 2011: 42).
1.6.
Pertimbangan menggunakan konsep modeling yang
menarik
Untuk mempertimbangkan penggunaan konsep
enchanced modeling, seperti spesialisasi, generalisasi,
agregasi,
dan
komposisi
entitas-entitas
dengan
menjelaskan satu atau lebih subclasses dari sebuah
entity superclass. Subclasses adalah sebuah sub
grouping yang jelas dari kejadian sebuah tipe entitas
yang perlu digambarkan dalam sebuah model data.
Superclass adalah sebuah tipe entitas yang termasuk
satu atau lebih sub grouping yang jelas dari kejadiankejadian yang perlu direpresentasikan dalam sebuah
model data (Connolly & Begg, 2010: 480).
1.7.
Periksa model untuk redundancy
Pada langkah ini dilakukan pemeriksaan model
data konseptual lokal dengan objektif spesifik untuk
mengidentifikasi apakah ada terjadi redundancy dan
19
menghapus yang sudah ada (Connolly & Begg, 2010:
482).
1.8.
Validasikan
model
konseptual
dengan transaksi
pengguna
Langkah ini untuk meyakinkan bahwa model
konseptual lokal mendukung transaksi yang dibutuhkan
oleh
tampilan
spesifik
yang
dari
merepresentasikan
perusahaan
digunakan
tampilan
untuk
menampilkan operasi-operasi secara manual dengan
memeriksa 2 pendekatan yang mungkin yaitu (Connolly
& Begg, 2010: 483):
a.
Model
data
konseptual
lokal
mendukung
transaksi yang diperlukan untuk menggambarkan
transaksi.
b.
Menggunakan
jalur
transaksi
(Transaction
Pathway).
1.9.
Mengulang model data konseptual lokal dengan
pengguna
Tujuan langkah ini adalah untuk mengevaluasi
model data konseptual lokal dengan pengguna dan
meyakinkan bahwa
model data
tersebut adalah
representasi yang nyata dari tampilan (Connolly &
Begg, 2010: 485). Model data konseptual meliputi
diagram ER dan dokumentasi yang mendukung yang
menggambarkan model data.
20
Gambar 2.7 Model Data Konseptual (Connolly & Begg, 2010: 491)
2.1.4.2 Perancangan Basis Data Logikal (Logical Database
Design)
Perancangan basis data logikal merupakan proses
membangun sebuah model informasi yang digunakan dalam
sebuah perusahaan berdasarkan pada sebuah model data yang
spesifik, tetapi tidak bergantung pada sebuah DBMS tertentu
dan pertimbangan-pertimbangan fisik lainnya (Connolly &
Begg, 2010: 467).
Langkah 2: Membangun dan memvalidasi model data
logikal
Langkah ini bertujuan untuk membangun model data
logical dari model data konseptual, yang telah didapatkan pada
21
tahap sebelumnya, yang merepresentasikan view tertentu
untuk menjamin agar strukturnya benar dan mendukung
kebutuhan transaksi suatu perusahaan (Connolly & Begg,
2010: 490). Tahapan-tahapan yang dilakukan pada langkah
kedua adalah:
2.1.
Menurunkan relasi untuk model data logikal
Tahap ini bertujuan untuk mebuat relasi untuk
model data logikal untuk merepresentasikan entitas,
relasi
dan
atribut
yang
telah
diidentifikasikan
(Connolly & Begg, 2010: 492).
Cara-cara
yang
dapat
dilakukan
untuk
mendapatkan relasi dari data model yang ada adalah
tipe entitas kuat, tipe entitas lemah, tipe relasi binary
one-to-many (1:*), tipe relasi binary one-to-one (1;1),
relasi
rekursif
one-to-one
(1;1),
tipe
relasi
superclass/subclass, tipe relasi binary many-to-many
(*:*), tipe relasi kompleks, atribut multi-valued.
2.2.
Validasi relasi-relasi menggunakan normalisasi
Normalisasi
digunakan
untuk
memastikan
relasi dan atribut yang mendukung kebutuhan dari
perusahaan. Proses normalisasi terdiri dari UNF, 1NF,
2NF, 3NF (Connolly & Begg, 2010: 501).
2.3.
Validasi relasi-relasi terhadap transaksi user
Tujuan pada tahap ini yaitu untuk memvalidasi
model data logikal untuk memastikan bahwa model
data mendukung kebutuhan transaksi yang telah
tercantum
didalam
spesifikasi
kebutuhan
user
(Connolly & Begg, 2010: 502). Validasi transaksi
seperti ini sudah dilakukan pada tahap 1.8, namun
kembali dilakukan untuk memeriksa relasi-relasi yang
telah dibuat pada langkah sebelumnya juga mendukung
transaksi ini. Juga untuk memastikan tidak terdapat
22
kesalahan dalam pembuatan relasi-relasi.
2.4.
Memeriksa integrity constraint
Integrity constraint adalah batasan-batasan
yang harus ditentukan untuk melindungi basis data
agar tetap konsisten (Connolly & Begg, 2010: 502).
Tipe integrity constraint, yaitu:
a. Required data (data atau nilai yang valid).
b. Batasan domain atribut.
c. Multiplicity.
d. Integritas entitas (entity integrity), primary key
pada entitas tidak boleh null.
e. Integritas referensial (referential integrity), adalah
jika foreign key berisi sebuah nilai yang nilainya
harus menunjukkan baris yang ada pada relasi
induknya.
f. General Constraints.
2.5.
Meninjau kembali model data logikal dengan user
Tahapan ini memastikan bahwa model data
logikal local yang terbentuk merupakan representasi
dari perusahaan (Connolly & Begg, 2010: 506).
2.6.
Menggabungkan model data logikal ke dalam model
global (optional step)
Tahapan ini bertujuan untuk menggabungkan
model data logikal local ke dalam data model single
global logical yang mewakili semua user views dari
basis data (Connolly & Begg, 2010: 506). Aktivitas
dalam tahap ini, yaitu:
a. Menggabungkan model data logikal ke dalam
model global.
b. Validasi model data logikal global.
c. Meninjau kembali model data logikal global
dengan user.
2.7.
Memeriksa perkembangan di masa depan
23
Tujuan dari tahap ini adalah untuk menentukan
apakah ada perubahan yang signifikan dimasa depan
dan untuk memperkirakan apakah model data logikal
bisa mengakomodasi perubahan tersebut (Connolly &
Begg, 2010: 517).
Gambar 2.8 Global Relation Diagram (Connolly & Begg, 2010: 516)
2.1.4.3 Perancangan Basis Data Fisikal (Physical Database
Design)
Perancangan basis data fisikal adalah proses untuk
menghasilkan deskripsi dari pengimplementasian suatu basis
data pada media penyimpanan kedua. Perancangan ini juga
menjelaskan relasi dasar, pengaturan file, dan indeks yang
24
digunakan untuk mencapai akses data yang efisien, integrity
constraint yang terkait, serta ukuran keamanan (Connolly &
Begg, 2010: 523)
Langkah 3: Menerjemahkan model data logikal global
untuk target DBMS
Langkah ini bertujuan untuk menghasilkan skema basis data
relational
dari
model
data
logikal
yang
dapat
diimplementasikan pada DBMS pilihan (Connolly & Begg,
2010: 524). Bagian pertama dari proses ini melibatkan
perbandingan
informasi
yang
dikumpulkan
selama
perancangan basis data logikal. Sedangkan bagian kedua
dari proses ini menggunakan informasi tersebut untuk
menghasilkan desain relasi dasar. Proses ini memerlukan
pengetahuan yang mendalam mengenai fungsionalitas yang
ditawarkan DMBS pilihan.
3.1. Merancang relasi dasar
Langkah
ini
bertujuan
untuk
menentukan
bagaimana representasikan relasi dasar dalam model
data logikal ke dalam DBMS (Connolly & Begg, 2010:
525).
3.2. Merancang representasi dari derived data
Menentukan
bagaimana
merepresentasikan
beberapa derived data yang terdapat dalam model data
logikal ke dalam DBMS (Connolly & Begg, 2010:
526).
3.3. Merancang general constraint
Perubahan terhadap data dapat dibatasi oleh
general constraint yang mengatur transaksi dalam
dunia nyata. Perancangan batasan ini tergantung pada
pemilihan DBMS yang akan digunakan. Beberapa
DBMS menyediakan fasilitas ini, namun ada juga yang
25
tidak menyediakannya, sehingga untuk menentukan
batasan harus dilakukan pada program aplikasi
(Connolly & Begg, 2010: 528).
Langkah 4: Merancang organisasi file dan indeks
Langkah ini bertujuan untuk menentukan organisasi file
yang optimal untuk menyimpan relasi dasar dan indeks yang
dibutuhkan untuk mencapai hasil yang baik, yaitu dengan
cara dimana relasi dan bisnis data akan dipegang di tempat
penyimpanan akhir sekunder (Connolly & Begg, 2010: 529).
4.1. Menganalisa transaksi
Analisa transaksi berfungsi untuk memahami
fungsi dari transaksi yang akan dijalankan pada bisnis
data dan untuk menganalisa transaksi yang penting
(Connolly & Begg, 2010: 529).
4.2. Memilih organisasi file
Bertujuan untuk menentukan organisasi file
yang efisien untuk setiap relasi dasar. Ada lima tipe
organisasi file, yaitu heap, hash, indexed sequential
office access method (ISAM), b-tree, dan clusters
(Connolly & Begg, 2010: 534).
4.3. Memilih indeks
Menentukan apakah dengan menambahkan
indeks akan meningkatkan kinerja
dari system
(Connolly & Begg, 2010: 535).
4.4. Memperkirakan disk space yang dibutuhkan
Memperkirakan jumlah dari disk space yang
dibutuhkan untuk mendukung implementasi basis data
pada secondary storage (Connolly & Begg, 2010:
541).
26
Langkah 5: Mendesain user view
Mendesain user view yang telah diidentifikasi selama
pengumpulan kebutuhan (Connolly & Begg, 2010: 542).
Langkah 6: Mendesain mekanisme keamanan
Membatasi pengaksesan basis data oleh user yang
tidak berhak dan menspesifikasikan basis data yang dapat
diakses oleh user (Connolly & Begg, 2010: 542).
Gambar 2.9 Model Data Fisikal (Connolly & Begg, 2010: 526)
27
2.1.5 Structural Constraint
Constraint merupakan pembatas dalam sebuah relationship.
Jenis utama dari constraint pada suatu relationship dinamakan
multiplicity (Connolly & Begg, 2010: 385).
Multiplicity adalah banyaknya kejadian yang mungkin pada
sebuah tipe entity yang mungkin berhubungan dengan suatu kejadian
dari tipe entity lain pada suatu relationship (Connolly & Begg, 2010:
385).
Derajat yang paling umum pada suatu relationship adalah
biner. Jenis-jenis relationship biner terdiri :
1)
One-to-one relationship (1:1)
Hubungan relasi satu ke satu yaitu setiap entitas
pada himpunan entitas A berhubungan paling banyak dengan
satu entitas pada himpunan entitas B (Connolly & Begg, 2010:
386).
Gambar 2.10 One to One Relationship (Connolly & Begg, 2010: 386)
2)
One-to-many relationship (1:*)
28
Setiap entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada himpunan entitas B,
tetapi setiap entitas pada entitas B dapat berhubungan dengan
satu entitas pada himpunan entitas A (Connolly & Begg,
2010, p. 387).
Gambar 2.11 One to Many Relationship (Connolly & Begg, 2010: 388)
3)
Many to Many (*:*)
Setiap entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada himpunan entitas B
(Connolly & Begg, 2010: 388).
29
Gambar 2.12 Many to Many Relationship (Connolly & Begg, 2010: 389)
2.1.6 Teori Data Flow Diagram (DFD)
Data flow diagram adalah sebuah tool yang digunakan untuk
menggambarkan aliran data yang melalui sebuah sistem dan
pengerjaan pemrosesan yang dikerjakan sistem (Whitten & Bentley,
2007: 317). Hanya ada tiga simbol dan satu koneksi yang digunakan,
yaitu (Whitten & Bentley, 2007: 317):
1.
Persegi panjang yang bertepi bulat merepresentasikan proses atau
pekerjaan yang harus diselesaikan.
2.
Bujur sangkar merepresentasikan external agents. External agents
adalah orang luar, unit organisasi, sistem, atau organisasi yang
berinteraksi dengan sistem, disebut juga dengan external entity
(Whitten & Bentley, 2007: 319).
3.
Kotak terbuka merepresentasikan data stores, biasa disebut juga
files atau basis data.
4.
Panah merepresentasikan aliran data, input, dan output, kepada
atau dari proses.
30
Gambar 2.13 Simple Data Flow Diagram (Whitten & Bentley, 2007: 318)
Context data flow diagram adalah sebuah model proses yang
digunakan untuk mendokumentasikan lingkup dari sistem, biasa
disebut juga environmental model (Whitten & Bentley, 2007: 339).
31
Gambar 2.14 Context Data Flow Diagram (Whitten & Bentley, 2007: 340)
System diagram adalah diagram yang menunnjukkan semua
kejadian pada sistem yang terdapat pada single diagram. System
diagram merupakan pecahan dari single process yang terdapat pada
context diagram (Whitten & Bentley, 2007: 348).
32
Gambar 2.15 System Diagram (Whitten & Bentley, 2007: 350-351)
2.1.7 Teori Flowchart
Flowchart adalah representasi grafikal dari sebuah sistem yang
menjelaskan aspek-aspek sistem informasi secara jelas, tepat, dan
logis yang digunakan terutama untuk menjelaskan relasi fisik di antara
entitas-entitas kuncinya (Hall, 2011: 8).
33
2.1.8 8 Golden Rules
Dalam perancangan antarmuka harus memperhatikan aturanaturan yang terangkum dalam 8 golden rules (Shneiderman &
Plaisant, 2010: 88), yaitu :
1. Berusaha untuk konsisten
Hal ini sangat penting bagi antarmuka user agar user tidak
mengalami kesulitan dalam mencari sebuah informasi. Oleh
karena itu, tampilan layar harus dibuat konsisten antara yang satu
dengan yang lainnya.
2. Melayani usability universal
Hal ini dimaksudkan agar pembuat aplikasi dapat mengenali
kebutuhan pengguna yang beragam dan desain yang bersifat
plasticity, serta memfasilitasi transformasi dari konten. Dalam
sistem juga dapat ditambahkan fitur bagi pemula, seperti
penjelasan, dan fitur untuk para ahli, seperti shortcut dan aksi
timbal balik yang lebih cepat sehingga dapat memperkaya desain
antarmuka dan meningkatkan persepsi kualitas sistem.
3. Memberikan umpan balik yang informatif
Ketika user melakukan aksi harus ada umpan balik agar user
menjadi terarah dan tidak tersesat dalam pencarian informasi.
4. Merancang dialog yang memberikan penutupan
Berinteraksi dengan komputer sama halnya seperti pada saat
berdialog. Aksi yang berurutan harus diorganisasi dan memiliki
awal, tengah, dan akhir. User perlu mengetahui kapan aksi
tersebut berakhir. Umpan balik yang informatif pada saat
sekumpulan aksi telah dilakukan akan memberikan kepuasan bagi
user, serta mengindikasikan bahwa user boleh melakukan aksi
selanjutnya.
5. Mencegah terjadinya error
Desain
sebuah
sistem
harus
memungkinkan
user
untuk
menghindari kesalahan yang serius. Sebagai contoh, membuat
34
menu yang tidak bisa diakses menjadi berwarna abu-abu. Jika user
melakukan
kesalahan,
antarmuka
harus
dapat
mendeteksi
kesalahan tersebut dan menawarkan instruksi yang sederhana dan
spesifik untuk pemulihan.
6. Memungkinkan pembalikan aksi yang mudah
User dapat kembali pada aksi yang telah dilakukan sebelumnya
jika terdapat kesalahan, sehingga user berani memilih menu yang
tidak umum.
7. Mendukung pusat kendali internal
Kepuasan user akan tinggi jika user merasakan bahwa dia telah
memegang kendali, sedangkan kepuasan user akan rendah jika
komputer yang memegang kendali.
8. Mengurangi beban ingatan jangka pendek
Ingatan jangka pendek manusia sangat terbatas. Oleh karena itu
harus dilakukan hal-hal yang memungkinkan user tidak perlu
mengingat apa pun. Sebagai contoh, daripada meminta user untuk
mengetik nama file yang akan diterima, lebih baik apabila sistem
dibuat agar terdapat tombol attach file sehingga user tinggal
menekan tombol tersebut untuk mengambil file.
2.2
Teori Khusus
2.2.1 PHP
PHP adalah bahasa server-side scripting yang dirancang
khusus untuk web (Welling & Thomson, 2005). Dalam sebuah
halaman HTML, Anda dapat menanamkan kode PHP yang akan
dijalankan setiap kali halaman dikunjungi.
Kode PHP yang anda intepretasikan pada web server dan akan
menghasilkan output HTML atau lainnya yang akan dilihat oleh
pengunjung. Performa PHP sangat efisien, dengan menggunakan
server tunggal yang tidak mahal, Anda dapat melayani jutaan hits per
hari. Jka Anda menggunakan sejumlah besar server komoditas,
kapasitas Anda secara efektif akan menjadi tidak terbatas.
35
2.2.2 XAMPP
XAMPP adalah distribusi Apache yang kecil dan ringan yang
mengandung teknologi pengembangan web yang paling umum dalam
satu paket. Kapasitas kontennya yang kecil dan portabilitasnya
membuatnya menjadi tool yang ideal bagi pengguna dalam
mengembangkan dan melakukan testing di aplikasi PHP dan MySQL
(Dvorski, 2007).
2.2.3 System Ticketing
System Ticketing merupakan suatu aplikasi perangkat lunak
yang dirancang untuk mengkoordinasikan pekerjaan beberapa orang
yang mungkin memiliki masalah dalam pekerjaannya. Informasi
dalam tiket dapat digunakan untuk menghasilkan laporan statistik
tertentu. Efisiensi dan keakuratan operator dapat ditingkatkan karena
cara kerja sistem tiket yang otomatis (Johnson, 1992).
2.2.4 Help Desk
Help desk otomatis berfungsi untuk mengambil informasi yang
dibutuhkan untuk membantu user secepat dan semudah mungkin baik
bagi user yang ahli maupun yang tidak ahli. Sistem help desk
dibangun agar user dari jarak tertentu dapat mendapatkan informasi
secara langsung sehingga help desk sering disebut dengan sistem
pengambilan informasi, hal ini dapat dilakukan beberapa user
sekaligus. Help desk dapat dikatakan baik jika dapat menangani
kasus-kasus yang ada dengan konsisten (Motoda, 1997).
36
2.3
Hasil Penelitian atau Produk Sebelumnya
Penjelasan mengenai beberapa penelitian terdahulu mengenai aplikasi sejenis
yang terdapat dalam bab satu akan dijelaskan sebagai berikut.
1.
Qoyyimah (2011)
Penelitian ini berjudul “Rancang Bangun Help Desk Ticketing
System” pada PT. Primus Indojaya. Dalam pengembangan helpdesk
ticketing system ini, penulis menggunakan metodologi berorientasi pada
objek yaitu iteration waterfall dengan dimodelkan menggunakan Unified
Modelling Language (UML), perancangan database dan perancangan
layar. Tools yang digunakan adalah XAMPP 1.7.1 dengan spesifikasi
Apache 2.2.11 sebagai web server. PHP versi 5.2.9 sebagai bahasa
pemograman dan MySQL versi 5.1.33 sebagai database. Dengan
diterapkannya sistem ini, peneliti mengharapkan helpdesk dapat
tersimpan secara terpusat dalam database dan juga pembuatan laporan
secara otomatis dalam sistem.
2.
Gemar Ahmad Jembarata (2011)
Penelitian ini berjudul “Perancangan dan Pembangunan Trouble
Ticket Management” dan dibuat dengan berbasiskan web yang
menggunakan expert system” pada Badan Pengkajian dan Penerapan
Teknologi (BPPT).
Trouble Ticket Management yang dibuat dilengkapi dengan
sistem pakar sederhana yang dapat membantu pengguna sistem dalam
menyelesaikan permasalahan. Metodologi yang digunakan adalah
metode pengumpulan data dan metode pengembangan sistem. Metode
pengumpulan data dengan mengunakan metode observasi, wawancara,
dan studi pustaka. Sedangkan metode pengembangan sistem dengan
menggunakan Rapid Application Development. Kesimpulan dari
penelitian adalah membuat sistem berbasis web, sistem dapat membantu
pegawai dalam menyelesaikan sendiri permasalahan yang terjadi
maupun melaporkannya langsung tanpa harus mengantri terlebih dahulu,
yang akhirnya permasalahan dapat langsung didata dan ditangani
sehingga efektifitas kerja pun akan tercipta.
37
3.
Dingding Wang, Tao Li, Shenghuo Zhu, dan Yihong Gong (2010)
Penelitian yang dilakukan berjudul “iHelp: An Intelligent Online
Helpdesk System”. Variabel penelitian adalah kebutuhan terhadap sebuah
helpdesk system yang dapat mengatasi kesulitan dalam menangkap
makna semantik dari setiap kasus dan memiliki representasi hasil yang
baik. Metode penelitian menggunakan studi kasus dimana peneliti
membuat dua skenario masing-masing kasus dan membandingkan hasil
perbandingan dengan solusi yang telah dibuat sebelumnya dan studi
pengguna dimana sebuah survei dilakukan terhadap enam belas
mahasiswa dengan tingkat dan jurusan yang berbeda. Kesimpulan yang
dihasilkan dari penelitian yang telah dilakukan adalah sistem dapat
menemukan pola solusi secara otomatis interaksi pengguna dengan
sistem sebelumnya dan performa iHelp yang tinggi diakibatkan karena
adanya pendekatan semantic case ranking, case clustering dengan model
bahasa campuran dan symmetric matrix factorization, dan rangkuman
request-focused multidocument.
38
Download