9 BAB 2 TINJAUAN PUSTAKA 2.1 Pengertian Data

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1
Pengertian Data
Menurut (Fathansyah, 2012, p2), data adalah representasi fakta dunia
nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli,
pelanggan), barang hewan, peristiwa, konsep, keadaan, dan sebagainya,
yang diwujudkan dalam bentuk angka, huruf, simbol, teks, gambar, bunyi,
atau kombinasinya.
2.2
Pengertian Entitas
Connolly & Begg (2010, p65) menyatakan bahwa entitas (entity) atau
yang sering disebut tabel merupakan kumpulan objek berbeda (orang,
tempat, benda, konsep, atau peristiwa) dalam organisasi yang akan
direpresentasikan dalam basis data.
2.3
Pengertian Basis Data
Basis data merupakan sekumpulan data logika yang saling
berhubungan. Data tersebut kemudian di rancang untuk memenuhi
kebutuhan informasi pada sebuah organisasi (Connolly & Begg, 2010,
p65).
2.4 Pengenalan DBMS
DBMS merupakan sebuah sistem perangkat lunak yang memberikan
kebebasan kepada pengguna untuk mendefisinikan, membuat, memelihara,
serta melakukan kontrol akses ke basis data (Connolly & Begg, 2010, p66).
Fasilitas – fasilitas yang tersedia pada DBMS antara lain:
1. Data Definition Language (DDL)
9
10
Menurut Connolly & Begg (2010, p66), Data Definition Language
adalah sebuah bahasa yang memungkinkan database administrator (DBA)
atau pengguna untuk mendeskripsikan dan menamai entitas, atribut, dan
relasi yang diperlukan untuk aplikasi, bersama dengan integritas dan
keamanan yang terhubung.
DDL memperbolehkan pengguna untuk menentukan basis data
beserta tipe data, struktur dan constraints pada data yang nantinya akan
disimpan dalam basis data (Connolly & Begg, 2010, p66).
2. Data Manipulation Language (DML)
Menurut Connolly & Begg (2010, p66), Data Manipulation
Language adalah sebuah bahasa yang menyediakan seperangkat operasi
untuk mendukung operasi manipulasi data yang terdapat di database.
DML memiliki dua tipe, antara lain:
1. Procedural DML — Bahasa yang memperbolehkan pengguna
untuk memberitahu sistem mengenai data apa yang dibutuhkan dan
cara untuk memperoleh data.
2. Non-procedural DML — Bahasa yang memperbolehkan pengguna
untuk memberitahu data manakah yang diperlukan, namun tidak
memberitahu bagaimana cara memperoleh data tersebut.
3. Menyediakan kontrol akses ke basis data, antara lain:
1. Security System — Mencegah pengguna yang tidak memiliki
wewenang untuk mengakses ke dalam basis data.
2. Integrity System — Mempertahankan konsistensi data yang
tersimpan.
3. Recovery Control System — Membantu mengembalikan basis data
ke dalam keadaan yang konsisten jika sewaktu – waktu terjadi
kegagalan perangkat keras maupun perangkat lunak.
4. User-Accessible Catalog — Berisikan deskripsi data dalam basis
data.
Dengan semua fungsionalitas ini, DBMS menjadi alat yang sangat kuat
dan berguna. Namun, end-user tidak tertarik mengenai kompleks atau
11
tidaknya task dari sebuah sistem. Dapat dikatakan bahwa end-user akan
berpendapat bahwa DBMS telah membuat suatu hal menjadi kompleks
karena mereka sekarang melihat lebih banyak data dibandingkan yang mereka
benar – benar butuhkan. Sebagai penyelesaian dari masalah ini, DBMS
menyediakan fasilitas lain yang dikenal sebagai view mechanism, yang
memperbolehkan setiap pengguna untuk memiliki masing – masing view ke
basis data (Connolly & Begg, 2010, p67).
Connolly & Begg (2010, p68) berpendapat bahwa dengan menggunakan
view, selain mengurangi kompleksitas dengan memberikan data yang
pengguna ingin lihat, view mempunyai keuntungan yang diantaranya:
1. View menyediakan level keamanan — View dapat diatur agar beberapa
pengguna tidak dapat mengakses data tertentu.
2. View menyediakan sebuah mekanisme untuk menyesuaikan tampilan
basis data.
3. View dapat merepresentasikan sebuah konsisten, gambaran yang tidak
dapat diubah dari struktur basis data.
2.4.1 Komponen DBMS
Dalam DBMS environment terdapat lima komponen utama (Connolly
& Begg, 2010, p68-71), antara lain:
1. Perangkat keras (Hardware)
Perangkat keras yang digunakan bergantung pada kebutuhan
organisasi dan DBMS yang digunakan. Beberapa DBMS hanya berfungsi
pada perangkat keras atau sistem operasi tertentu, sementara yang lain
berjalan pada sebuah keberagaman perangkat keras dan sistem operasi
yang luas.
2. Perangkat lunak (Software)
Komponen perangkat lunak meliputi perangkat lunak DBMS itu
sendiri beserta program aplikasi, bersama dengan sistem operasi dan
perangkat lunak jaringan (network software) jika DBMS digunakan pada
sebuah jaringan. Target dari DBMS adalah memiliki peralatan generasi
keempat yang berkembang pesat dari aplikasi melalui ketentuan non-
12
procedural query languages, reports generators, forms generators,
graphics generators, application generators. Penggunaan peralatan
generasi keempat dapat meningkatkan produktivitas secara signifikan dan
menghasilkan program yang lebih mudah untuk di-maintain.
3. Data
Merupakan komponen utama yang paling penting dalam DBMS
environment. Data berperan sebagai penghubung antara komponen mesin
(perangkat keras dan perangkat lunak) dan komponen manusia (prosedur
dan masyarakat). Basis data berisikan data operasional dan data inti
(metadata).
4. Prosedur (Procedures)
Prosedur mengacu pada instruksi dan peraturan yang mengatur
desain dan penggunaan basis data. Pengguna sistem dan staff yang
mengelola basis data memerlukan dokumentasi prosedur mengenai cara
menggunakan dan menjalankan sistem. Berikut instruksi yang mungkin
digunakan:
a. Log on ke DBMS;
Menggunakan fasilitas tertentu dari DBMS atau program aplikasi;
1. Start dan stop DBMS;
2. Membuat salinan cadangan dari basis data;
3. Menangani kegagalan perangkat keras atau perangkat lunak;
4. Mengubah struktur tabel, mengatur ulang basis data,
meningkatkan kemampuan, atau mengarsipkan data ke dalam
storage.
5. Masyarakat (People)
Komponen terakhir dari DBMS adalah masyarakat yang terlibat
dalam sistem.
13
Gambar 2. 1 DBMS Environment
Connnolly & Begg (2010, p68)
2.4.2 Fungsi DBMS
Menurut Connolly & Begg (2010, p99-104), DBMS memiliki sepuluh
fungsi, antara lain:
1. Data storage, retrieval and update — DBMS harus dilengkapi dengan
kemampuan untuk menyimpan, mengambil, dan memperbaharui data
pada basis data.
2. A user-accessible catalog — DBMS harus memiliki katalog yang berisi
deskripsi data item dan dapat diakses oleh pengguna.
3. Transaction support — DBMS harus mempunyai mekanisme yang
menjamin bahwa semua update yang berhubungan dengan transaksi
dapat dilakukan ataupun tidak dapat dilakukan.
4. Concurrency control services — DBMS harus memiliki mekanisme yang
akan memastikan bahwa basis data dapat di-update ketika banyak
pengguna yang melakukan update basis data secara bersamaan.
5. Recovery services — DBMS harus memiliki sebuah mekanisme untuk
memastikan bahwa basis data dapat dipulihkan apabila terjadi kesalahan.
6. Authorization services — DBMS harus menyediakan mekanisme yang
memastikan bahwa hanya pengguna yang berwenang dapat mengakses
basis data.
7. Support for data communication — DBMS harus mampu berintegrasi
dengan perangkat lunak komunikasi (communication software).
8. Integrity services — DBMS harus memiliki sarana yang menjamin
bahwa data di dalam basis data maupun perubahan terhadap data telah
mengikuti aturan – aturan tertentu.
14
9. Services to promote data independence — DBMS harus menyertakan
fasilitas – fasilitas untuk mendukung ketidaktergantungan perangkat
lunak terhadap struktur aktial dari basis data.
10. Utility services — DBMS harus menyediakan satu set layanan utilitas.
2.4.3 Keuntungan dan Kerugian DBMS
Menurut Connolly & Begg (2010, p77-81), penggunaan DBMS
memiliki beberapa keuntungan serta kerugian.
Keuntungan DBMS antara lain:
1. Kontrol terhadap redudansi data.
2. Data yang konsisten.
3. Semakin banyak informasi yang di dapat dari data yang sama.
4. Data dapat dibagikan (sharing data).
5. Meningkatkan integritas data.
6. Meningkatkan keamanan data.
7. Penetapan standarisasi.
8. Memiliki skala ekonomi.
9. Menyeimbangkan konflik kebutuhan.
10. Memperbaiki pengaksesan data beserta responnya.
11. Meningkatkan produktivitas.
12. Meningkatkan concurrency.
13. Meningkatkan backup dan recovery.
Kerugian DBMS antara lain:
1. Kompleks.
2. Ukuran yang besar.
3. Biaya dari DBMS itu sendiri.
4. Biaya penambahan perangkat keras.
5. Biaya dari konversi.
6. Performance.
7. Jika terjadi kegagalan dampaknya besar.
15
2.5
Relational Model
Connolly & Begg (2010, p144-151) menyatakan bahwa relational
model adalah konsep dasar matematika yang berhubungan dengan fisikal
yang direpresentasikan dalam bentuk tabel. Relational model terdiri dari
relational data structure dan relational keys sebagai berikut:
Relational data structure:
I.
II.
Relasi — Tabel yang memiliki kolom dan baris.
Atribut — Kolom pada tabel.
III.
Domain — Batasan nilai pada satu atau lebih atribut.
IV.
Tuple — Baris pada tabel.
V.
VI.
VII.
Degree — Jumlah atribut pada tabel.
Cardinality — Jumlah baris (tuple) pada tabel.
Relational database — Sekumpulan tabel yang sudah di normalisasi
dengan nama tabel yang berbeda.
Relational keys:
I.
Superkey — Sebuah atribut atau sekumpulan atribut yang secara unik
mengidentifikasi baris pada tabel.
II.
III.
Candidate key — Kandidat atribut yang dapat dijadikan primary key.
Primary key — Candidate key yang dipilih untuk mengidentifikasi
baris pada tabel secara unik.
IV.
Foreign key — Sebuah atribut atau satu set atribut pada sebuah tabel
yang memiliki (kemungkinan) candidate key yang sama.
2.5.1 Entity Relationship Modelling (ERD)
Entity Relationship merupakan pemodelan menggunakan pendekatan
top-down
pada
perancangan
basis
data
yang
dimulai
dengan
mengindentifikasi data – data penting yang disebut entity dan relationship
antara data yang harus direpresentasikan dalam model (Connolly & Begg,
2010, p371).
Terdapat dua jenis entity (Connolly & Begg, 2010, p383-384), yaitu
strong entity dan weak entity:
16
I.
Strong entity — Suatu entity yang sifatnya tidak bergantung kepada
keberadaan entity lain.
II.
Weak entity — suatu entity yang keberadaannya bergantung kepada
entity lain.
Gambar dibawah menjelaskan strong entity Client dan weak entity
Preference. Entity Client dapat berdiri sendiri tanpa bergantung pada entity
Preference. Namun, entity Preference tidak dapat berjalan jika tidak ada entity
Client.
Gambar 2. 2 Strong Entity & Weak Entity
Connnolly & Begg (2010, p384)
2.5.2 Atribut (Attribute)
Atribut merupakan sebuah properti dari suatu entity atau tipe relasi
(disebut juga sebagai kolom tabel). Sedangkan domain atribut (attribute
domain) adalah nilai – nilai yang diperbolehkan dalam satu atau lebih atribut
(Connolly & Begg, 2010, p379).
Menurut Connolly & Begg (2010, p379-380), atribut dapat
diklasifikasikan sebagai: simple attribute, composite attribute, single-valued
attribute, multi-valued attribute, dan derived attribute.
1. Simple attribute — Atribut yang terdiri dari komponen tunggal yang
keberadaannya independen.
17
2. Composite attribute — Atribut yang terdiri dari beberapa komponen,
dimana masing – masing komponen keberadaannya independen.
3. Single-valued attribute — Atribut yang memiliki nilai tunggal untuk
setiap kejadian dari suatu entity.
4. Multi-valued attribute — Atribut yang memiliki beberapa nilai untuk
setiap terjadinya suatu jenis entity.
5. Derived attribute — Atribut yang mewakili nilai yang diturunkan dari
nilai atribut terkait atau set atribut, tetapi belum tentu dalam jenis
entity yang sama.
2.5.3 Structural Constraint
Menurut Connoly & Begg (2010, p385), multiplicity adalah jumlah
(atau range) kemungkinan kejadian dari jenis entity yang berhubungan
dengan kejadian tunggal pada entity yang terkait melalui hubungan tertentu.
Multiplicity membatasi hubungan dari entity yang terkait.
Hal ini merupakan representasi dari kebijakan (atau aturan bisnis)
yang diterapkan oleh pengguna atau perusahaan. Memastikan bahwa semua
constraints dapat diidentifikasi dan direpresentasi merupakan bagian penting
dari pemodelan suatu perusahaan.
Connolly & Begg (2010, p386-389) menyatakan bahwa ada berbagai
jenis relationship yang mungkin terjadi pada multiplicity, diantaranya:
1.
One-to-One Relationship (1:1)
Hubungan antara satu anggota entity dengan tepat satu anggota dari entity
yang lain.
Gambar 2. 3 Contoh One-to-One Relationship
Connnolly & Begg (2010, p386)
18
2.
One-to-Many Relationship (1:*)
Hubungan antara satu anggota entity dengan satu ataupun lebih anggota dari
entity yang lain, diasosiasikan dengan tepat satu anggota dari entity
pasangannya.
Gambar 2. 4 Contoh One-to-Many Relationship
Connnolly & Begg (2010, p388)
3.
Many-to-Many Relationship (*:*)
Hubungan antara satu entity dengan lebih dari satu anggota dari entity yang
lain, begitu juga sebaliknya. Satu anggota entity yang lain dapat diasosiasikan
dengan lebih dari satu anggota pasangannya.
Gambar 2. 5 Contoh Many-to-Many Relationship
Connnolly & Begg (2010, p389)
19
2.6
Normalisasi
Connolly & Begg (2010, p415) menyatakan bahwa normalisasi adalah
teknik untuk menghasilkan satu set relasi dengan ketentuan yang diinginkan,
sesuai dengan kebutuhan data dari perusahaan. Tujuan dari normalisasi yaitu
untuk mengidentifikasi satu set yang memiliki hubungan yang sesuai untuk
mendukung kebutuhan data sari suatu perusahaan.
Adapun proses dari normalisasi (Connolly & Begg, 2010, p429-436,
447-458), antara lain:
i.
Unnormalized Form (UNF) — Sebuah tabel yang berisi satu atau lebih grup
yang berulang.
ii.
First Normal Form (1NF) — Suatu relasi dimana titik potong (intersection)
pada setiap baris dan kolom berisi tepat hanya satu nilai.
iii.
Second Normal Form (2NF) — Suatu relasi yang ada pada 1NF dimana
setiap atribut non-primary-key sepenuhnya bergantung secara fungsional
(functionally dependent) pada primary key.
iv.
Third Normal Form (3NF) — Suatu relasi yang ada pada 1NF dan 2NF
dimana tidak ada atribut non-primary-key yang bergantung secara transitif
kepada primary key.
v.
Boyce-Codd Normal Form (BCNF) — Sebuah relasi termasuk dalam BNF,
jika dan hanya jika, setiap determinan merupakan candidate key.
vi.
Fourth Normal Form (4NF) — Suatu relasi dalam bentuk BCNF dan tidak
mengandung dependensi yang multi-value yang nontrivial.
vii.
Fifth Normal Form (5NF) — Suatu relasi yang tidak memiliki join
dependency.
2.7
Database System Development Lifecycle
Sistem basis data merupakan komponen fundamental dari sistem
informasi pada sebuah organisasi, database system development lifecycle ikut
berasosiasi dengan lifecycle dari sistem informasi (Connolly & Begg, 2010,
p313).
Menurut Connolly & Begg (2010, p313-336), adapun tahapan dari
database system development lifecycle adalah sebagai berikut:
20
Gambar 2. 6 Tahapan Database System Development Lifecycle
Connnolly & Begg (2010, p314)
21
Keterangan setiap tahapan dari Database System Development Lifecycle adalah
sebagai berikut:
1. Database Planning
Pada tahap ini menjelaskan mengenai kegiatan manajemen yang
memungkinkan tahapan database system development lifecycle untuk
direalisasikan seefisien dan seefektif mungkin.
2. System Definition
Pada tahap ini menjelaskan mengenai ruang lingkup dan batasan pada
aplikasi sistem basis data, penggunaannya, serta bagaimana pandangan dari
pengguna utama.
3. Requirements Collection and Analysis
Pada tahap ini menjelaskan mengenai proses pengumpulan dan
analisis informasi yang dibutuhkan organisasi dimana didukung oleh sistem
basis data.
4. Database Design
Database design merupakan proses membuat rancangan desain basis
data yang akan mendukung misi serta tujuan perusahaan untuk menentukan
sistem basis data yang diperlukan.
Terdapat dua pendekatan utama dalam database design:
1.
Bottom-up approach
Pendekatan dimulai dari atribut dasar kemudian dilakukan
analisa hubungan antar atribut yang dikelompokkan ke dalam
suatu relasi yang merepresentasikan tipe relasi entitas serta
relationship antar entitas.
2.
Top-down approach
Pendekatan dimulai dari pengembangan model data yang berisi
beberapa entitas serta relationship tingkat tinggi. Setelah itu,
dilakukan pendekatan top-down secara berurutan untuk
mengidentifikasi entitas dan atribut tingkat rendah serta
relationship
yang
berhubungan.
Pendekatan
top-down
direpresntasikan dalam konsep Entity-Relationship Model
(ERD).
Database design dibagi menjadi tiga tahapan utama, antara lain:
1.
Conceptual database design
22
Proses pembuatan model data yang digunakan dalam suatu
perusahaan, agar dapat independen dari semua masalah fisik.
Pertimbangan yang dimaksud berupa DBMS yang dipakai,
program aplikasi, bahasa pemograman, ataupun hardware
paltform.
Berikut langkah – langkah membangun model data konseptual
(Connolly & Begg, 2010, p467):
1. Mengidentifikasi tipe entitas
Tujuannya adalah untuk mengidentifikasi tipe entitas yang
diperlukan.
2. Mengidentifikasi tipe relasi
Tujuannya adalah untuk mengidentifikasi relasi penting antara
tipe entitas yang telah diidentifikasi.
3. Mengidentifikasi dan menghubungkan atribut dengan entity
type atau relationship type
Tujuannya adalah untuk menghubungkan atribut – atribut
dengan tipe entitas atau relasi yang sesuai.
4. Menentukan domain atribut
Tujuannya adalah untuk menentukan domain atau kumpulan
nilai – nilai dalam satu atau lebih atribut dari masing – masing
atribut dalam model data konseptual.
5. Menentukan candidate key, primary key, dan alternate key
Tujuannya adalah untuk mengidentifikasi candidate key untuk
setiap tipe entitas. Jika terdapat lebih dari satu candidate key,
maka akan dipilih salah satu untuk dijadikan primary key dan
yang lain akan menjadi alternate key.
6. Mempertimbangkan untuk penggunaan enhanced modelling
concept (optional)
Tujuannya adalah untuk mempertimbangkan penggunaan
konsep
enhanced
modelling
seperti
specialization/generalization, aggregation, dan composition.
7. Mengecek redudansi pada model
23
Tujuannya adalah untuk memeriksa apakah ada redundansi
pada data model. Pada tahap ini terdapat tiga aktifitas, antara
lain:
1. Menguji ulang hubungan one-to-one (1:1) relationships
2. Menghilangkan hubungan yang berulang
3. Mempertimbangkan dimensi waktu (time dimensions)
8. Memvalidasi model data konseptual lokal dengan transaksi
pengguna
Tujuannya adalah untuk memastikan model konseptual telah
mendukung transaksi yang diperlukan perusahaan.
9. Meninjau kembali model konseptual lokal dengan pengguna
Tujuannya adalah untuk memastikan bahwa model sudah
merupakan representasi data yang sebenarnya dari permintaan
perusahaan.
2.
Logical database design
Proses membangun model data logikal yang digunakan dalam
suatu perusahaan berdasarkan data model tertentu, namun tidak
bergantung pada DBMS tertentu dan pertimbangan fisik
lainnya.
Berikut langkah – langkah membangun model data logikal
(Connolly & Begg, 2010, p467):
1. Menurunkan relasi untuk model data logikal
Tujuannya adalah untuk membuat hubungan model data
logikal dalam mepresentasikan entitas, relationship, dan
atribut yang sudah diidentifikasi.
2. Memvalidasi relasi menggunakan proses normalisasi
Tujuannya adalah untuk memvalidasi relasi dalam model
data logikal menggunakan normalisasi.
3. Memvalidasi relasi dengan transaksi pengguna
Tujuannya adalah untuk memastikan bahwa relasi dalam
model data logikal sudah mendukung transaksi yang
dibutuhkan.
4. Memeriksa integrity constraint
24
Tujuannya adalah untuk memeriksa batasan – batasan yang
digunakan guna menjada konsistensi data. Ada lima tipe
integrity constraint, antara lain:
1. Required data
2. Batasan Domain Atribut
3. Entity Integrity
4. Referential integrity
5. Enterprise Constraint
5. Memeriksa kembali model data logikal dengan pengguna
Tujuannya adalah untuk memastikan bahwa model data
logikal
beserta
dokumentasi
pendukung
yang
menggambarkan model merupakan perwakilan yang benar
berdasarkan point of view pengguna atau perusahaan.
6. Menggabungkan model data logikal menjadi model data
global (optional)
Tujuannya adalah untuk menggabungkan model data logikal
menjadi
model
data
global
tunggal
dimana
telah
merepresentasikan keseluruhan user view pada basis data.
7. Memeriksa perkembangan di masa depan
Tujuannya adalah untuk menentukan apakah ada perubahan
– perubahan tertentu di masa depan serta menilai apakah
model data logikal dapat menangani perubahan tersebut.
3.
Physical database design
Proses pembuatan deskripsi dari suatu implementasi basis data
pada penyimpanan sekunder; menggambarkan hubungan dasar,
file organisasi dan indeks yang digunakan untuk mencapai
akses yang efisien terhadap data, kendala integritas terkait
berserta langkah – langkah keamanan.
Berikut langkah – langkah membangun model data fisikal
(Connolly & Begg, 2010, p467):
1. Menerjemahkan model data logikal untuk DBMS yang
digunakan
25
Tujuannya adalah untuk menghasilkan skema basis data
relasional
dari
model
data
logikal
yang
dapat
diimplementasikan dalam DBMS yang dituju. Aktivitas
dalam tahapan ini antara lain:
a. Merancang relasi dasar — Menentukan bagaimana
merepresentasikan relasi dasar yang sudah diidentifikasi
dalam model data logikal ke dalam DBMS yang dituju.
b. Merancang representasi derived data — Menentukan
bagaimana merepresentasikan setiap derived data dalam
model data logikal ke dalam DBMS yang dituju.
c. Merancang general constraints — Merancang general
constraints untuk DBMS yang dituju.
2. Merancang file organization dan indeks
Tujuannya adalah untuk menentukan organisasi file yang
efisien untuk setiap relasi dasar dan menentukan apakah
penambahan indeks diperlukan untuk meningkatkan kinerja
dari sistem yang berjalan. Aktivitas dalam tahapan ini antara
lain:
a. Menganalisa
transaksi
—
Untuk
memahami
fungsionalitas dari transaksi yang akan berjalan pada
basis data dan untuk menganalisa transaksi penting.
b. Memilih file organization — Untuk menentukan file
organisasi yang efisien untuk setiap relasi dasar.
c. Memilih
indeks
—
Untuk
menetukan
apakah
menambahkan indeks akan meningkatkan kinerja sistem
atau tidak.
d. Memperkirakan
kebutuhan
disk
space
—
Untuk
memperkirakan jumlah disk space yang akan dibutuhkan
oleh basis data.
3. Merancang user view
Tujuannya adalah untuk merancang user view yang
diidentifikasi selama tahap pengumpulan kebutuhan dan
analisis pada database system development lifecycle.
26
4. Merancang mekanisme keamanan
Tujuannya adalah untuk merancang mekanisme keamanan
untuk basis data seperti yang ditentukan oleh pengguna pada
tahapan awal database system development lifecycle.
5. Mempertimbangkan adanya pengontrolan redundansi
Tujuannya adalah untuk menentukan apakah dengan adanya
pengontrolan redundansi akan meningkatkan kinerja dari
sistem.
6. Mengawasi dan mengendalikan sistem operasional
Tujuannya adalah untuk mengawasi sistem operasional jika
sewaktu – waktu di masa depan perusahaan ingin melakukan
perbaikan pada sistem.
5.
DBMS Selectional (optional)
Memilih DBMS yang sesuai untuk membantu mendukung sistem
basis data.
6.
Application Design
Proses perancangan user interface
bagi pengguna dan program
aplikasi yang menggunakan dan memproses basis data.
7.
Prototyping (optional)
Proses membangun working model dari sistem basis data. Hasil dari
prototype akan membantu perancang untuk melakukan evaluasi
fungsionalitas sistem.
8.
Implementation
Pada tahap ini dilakukan realisasi fisik dari basis data dan desain
aplikasi.
9.
Data Conversion and Loading
Pada tahap ini dilakukan transfer atau konversi data dan aplikasi
lama ke dalam basis data yang baru.
10.
Testing
Pada tahap ini dilakukan proses menjalankan sistem basis data
dengan tujuan untuk mencari kesalahan (error) pada aplikasi. Selain itu
dilakukan juga validasi terhadap aplikasi atas kebutuhan – kebutuhan
yang telah ditentukan oleh pengguna.
27
11.
Operational Maintenance
Pada tahap ini menjelaskan mengenai proses pemantauan dan
pemeliharaan sistem basis data. Performa sistem akan diawasi secara
berkala, jika ditemukan performa sistem menurun, reorganisasi terhadap
sistem basis data akan diperlukan.
2.8
Pengenalan Mall Directory
Secara umum, mall directory merupakan panduan direktori yang
disediakan oleh pihak mall kepada pengunjung mall yang bertujuan untuk
memberikan informasi yang lebih spesifik mengenai toko – toko (tenant)
tertentu yang ada di dalam mall tersebut.
2.8.1 Pengertian Mall
Mall adalah suatu tempat berkumpulnya peritel yang menjual aneka
barang dan jasa yang dibutuhkan baik pribadi maupun rumah tangga (Ma’ruf,
2005, p79). Namun, tidak hanya itu saja, mall juga dapat menjadi pusat
inetraksi sosial dan kegiatan rekreasi. Toko (tenant), restoran, bioskop, food
court, area bermain anak, area relaksasi dan area promosi membentuk
komponen utama dari sebuah mall.
2.8.2 Pengertian Directory
Menurut Oxford (2008, p125), direktori (directory) adalah buku yang
berisikan daftar nama, alamat, dan nomor telpon. Jurnal “Shopping Mall
Directory: A Detailed/-Guide Application for Android-Based Mobile
Devices” (VijayaPrasad, P., Fadzlina, N., Saadi, M., Elfaki, A. O., Saadi, B.,
2013), menyatakan bahwa pada penelitian yang dilakukan mengenai aplikasi
mall directory, direktori dalam mall directory berfungsi untuk membantu
menentukan alamat atau lokasi toko yang berada di dalam mall.
28
2.8.3 Pengertian Mall Directory
Menurut Dari penyataan mengenai mall dan directory diatas, dapat
disimpulkan bahwa mall directory membantu pengunjung mall dalam
melakukan pencarian tempat yang ingin dituju adapun itu toko (tenant),
restoran, bioskop, atau fasilitas lainnya yang ada pada mall tersebut. Dengan
adanya mall directory ini, pengunjung dapat menghemat waktu pencarian
lokasi yang ingin dituju.
2.8.4 Jenis-jenis Mall Directory
Berdasarkan hasil survey yang penulis lakukan ke beberapa mall,
penulis menemukan bahwa setiap mall menyediakan tipe mall directory yang
berbeda – beda, antara lain:
a. Digital Directory — Direktori disediakan dalam bentuk digital,
dimana tampilan direktori tenant beserta fitur lainnya seperti mall
event disajikan pada layar touch screen.
b. Board Directory — Direktori disediakan dalam bentuk peta yang
berisikan lokasi tenant di dalam mall dan dibingkai pada sebuah
papan besar.
2.9
GPS (Global Positioning System)
GPS adalah sistem navigasi yang memberikan informasi koordinat
posisi guna membantu menentukan titik lokasi tertentu. Manfaat dari GPS
adalah pengguna dapat menandai lokasi mana yang pernah dikunjungi serta
membantu memperkirakan jarak dari suatu tempat ke tempat lainnya.
2.9.1 Pengertian GPS
GPS atau Global Positioning System merupakan sistem navigasi
berdasarkan satelit yang dikembangkan oleh United States Department of
Defense (DoD) pada tahun 1970. Pada dasarnya, GPS dikembangkan sebagai
sistem militer untuk memenuhi kebutuhan militer Amerika Serikat. Namun
seiring dengan berjalannya waktu, pada masa kini GPS telah tersedia untuk
warga sipil dimana GPS menggunakan dual-system yang dapat diakses oleh
29
pengguna di kalangan militer dan warga sipil. GPS menyediakan informasi
mengenai pengaturan tempat dan timing secara berkala, dimanapun dan
dalam kondisi cuaca apapun di seluruh bumi. Dikarenakan GPS melayani
jumlah pengguna yang sangat banyak dan digunakan juga untuk alasan
keamanan, GPS disebut sebagai sistem yang pasif. Artinya, pengguna hanya
dapat menerima sinyal yang didapat dari satelit (El-Rabbany, 2006, p1).
GPS terdiri dari 24 satelit operasional. Konstelasi dari satelit – satelit
tersebut dikenal sebagai Initial Operational Capability (IOC), yang dibuat
pada tahun 1993. Untuk memastikan GPS dapat mencakup seluruh dunia
secara berkala, satelit GPS diatur sedemikian rupa sehingga empat satelit
ditempatkan di masing – masing enam orbital pesawat (Gambar 2.7). Dengan
konstelasi geometri ini, empat hingga sepuluh satelit GPS dapat menampilkan
titik lokasi di dunia (El-Rabbany, 2006, p2).
Gambar 2. 7 Konstelasi GPS
(El-Rabbany, 2006, p2)
2.9.2 Daerah Kerja GPS
Menurut El-Rabbany (2006, p2-3), GPS terdiri atas tiga segmen
antara lain space segment, control segment, dan user segment (Gambar 2.8).
Penjelasan mengenai ketiga segmen GPS sebagai berikut:
1.
Space Segment
Terdiri dari konstelasi 24 satelit. Setiap satelit GPS
mentransmisi sinyal yang memiliki sejumlah komponen: dua
sinewaves (dikenal juga sebagai frekuensi pembawa / carrier
frequency), dua kode digital, dan sebuah pesan navigasi. Pesan
kode dan navigasi ditambahkan kedalam pembawa sebagai
30
bifase biner modulasi. Pembawa dan kode digunakan untuk
menentukan jarak dari pengguna dengan satelit GPS. Pesan
navigasi berisi informasi, koordinat lokasi dari satelit yang
sedang berfungsi. Sinyal yang ditransmisikan dikendalikan
dengan sangat akurat oleh jam atomik di dalam satelit.
2.
Control Segment
Segmen kontrol dari sistem GPS terdiri dari jaringan stasiun
pelacakan (tracking stations) di seluruh dunia, dengan master
control station (MCS) yang berlokasi di Colorado Springs,
Colorado, Amerika Serikat. Tugas utama dari segmen kontrol
operasional adalah melakukan pelacakan satelit GPS untuk
menentukan dan memprediksi lokasi satelit, integritas sistem,
perilaku dari jam atomik satelit, data atmosfer, almanak satelit,
dan konsiderasi lainnya. Informasi ini kemudian dikemas dan
diunduh kedalam satelit GPS melalui S-band link.
3.
User Segment
Segmen pengguna mencakup semua pengguna baik militer
maupun sipil. Dengan sebuah penerima GPS yang terhubung
dengan antena GPS, pengguna dapat menerima sinyal GPS
yang dapat digunakan untuk menentukan posisi pengguna di
mana saja di seluruh dunia. GPS saat ini tersedia untuk
siapapun di seluruh dunia tanpa dikenakan biaya.
31
Gambar 2. 8 Segmen GPS
(El-Rabbany, 2006, p3)
2.9.3 Cara Kerja GPS
Menurut El-Rabbany (2006), setiap satelit GPS secara berkala
mengirim microwave radio signal yang terdiri dari dua pembawa, dua kode,
dan sebuah pesan navigasi. Ketika penerima GPS (GPS receiver) menyala, ia
akan mengambil sinyal GPS melalui antena penerima. Setelah menerima
sinyal, kemudian akan diproses menggunakan built-in software. Hasil parsial
dari pemrosesan sinyal terdiri atas jarak satelit menuju GPS melalui kode
digital dan satelit akan mengkordinasi pesan navigasi.
Secara teoritis, hanya dibutuhkan tiga jarak menuju tiga satelit
pelacak secara bersamaan. Dalam hal ini, penerima akan ditempatkan dalam
persimpangan dari tiga bidang; masing – masing memiliki radius satu jarak
dari satelit-penerima dan berpusat pada satelit tertentu (Gambar 2.9).
32
Gambar 2. 9 Ide Dasar Pengaturan Satelit GPS
(El-Rabbany, 2006, p9)
Akurasi yang diperoleh melalui metode yang dijelaskan sebelumnya
masih terbatas hingga 100 meter untuk komponen horisontal, 156 meter
untuk komponen vertikal, dan 340 nanodetik untuk komponen waktu, semua
tergabung dalam 95% level kemungkinan. Tingkat keakuratan yang rendah
ini dikarenakan oleh teknik selective availability, yaitu sebuah teknik yang
digunakan dengan sengaja untuk menurunkan akurasi otonom real-time
positioning bagi pengguna yang tidak berhak (unauthorized user). Untuk
lebih mengingkatkan keakuratan posisi GPS, digunakan metode yang disebut
metode diferensial. Metode ini menggunakan dua alat penerima (receiver)
yang secara bersamaan melacak satelit GPS yang sama. Dalam hal ini, posisi
tingkat kakuratan untuk beberapa meter dapat diperoleh.
2.9.4 Ketidakakuratan pada GPS
Menurut El-Rabbany (2006, p27), pengukuran pseudorange dan
carrier-phase pada GPS keduanya dipengaruhi oleh beberapa jenis error dan
bias (kesalahan sistematis). Kesalahan ini dapat diklasifikasikan berasal dari
satelit, penerima, dan propagasi sinyal.
DOD terus memantau orbit satelit mencari kesalahan atau
penyimpangan dari nilai prediksi. Setiap penyimpangan (dapat disebabkan
oleh fenomena atmosfer alam seperti gravitasi), dikenal sebagai kesalahan
ephemeris. Ketika terjadi kesalahan ephimeris saat GPS bekerja, kesalahan
tersebut
akan
dikirimkan
kembali
ke
satelit,
yang
dimana
akan
membroadcast pesan yang berisi kesalahan tersebut kepada GPS receiver
33
dimana dapat menurunkan tingkat keakuratan hasil data titik lokasi yang
diperoleh.
Sebagai tambahan dari jenis kesalahan yang mempengaruhi
ketidakakuratan pengukuran GPS yang telah dijelaskan diatas, keakutaran
penghitungan posisi GPS juga dipengaruhi oleh lokasi gemoetris dari satelit
GPS seperti yang terlihat oleh penerima. Semakin menyebar posisi satelit
yang berada di langit, semakin baik akurasi yang diperoleh (El-Rabbany,
2006, p27) (Gambar 2.10).
Gambar 2. 10 GPS Error dan Bias
(El-Rabbany, 2006, p28)
2.10
Pengenalan Android
Android adalah sistem operasi mobile yang berbasis Linux. Android
menyediakan platform open source bagi developer agar dapat menciptakan
aplikasi mereka sendiri untuk digunakan di berbagai macam device Android.
2.10.1 Pengertian Android
Lee (2011, p2) menyatakan bahwa Android adalah sistem operasi
mobile yang didasarkan pada versi modifikasi dari Linux. Pada awalnya
34
dikembangkan oleh startup dengan nama yang sama, Android, Inc. Pada
tahun 2005, sebagai bagian dari strategi untuk memasuki ruang lingkup
mobile, Google membeli dan mengambil alih Android serta pengerjaannya
(termasuk tim pengembang Android).
Google ingin Android untuk terbuka dan bebas; oleh karena itu,
sebagian besar kode pada Android dirilis di bawah open-source Apache
License, yang berarti siapapun yang ingin menggunakan Android dapat
melakukannya dengan mengunduh penuh sumber kode (soure code) Android.
Selain itu, vendor (biasanya produsen hardware) dapat menambah ekstensi
milik mereka sendiri kedalam Android dan menyesuaikan produk Android
mereka untuk dapat dibedakan dengan produk milik vendor lain. Model
pengembangan yang sederhana ini membuat Android menjadi sangat menarik
dan mengundang ketertarikan dari banyak vendor.
Keuntungan utama dari Android adalah Android menawarkan
pendekatan
terpadu
terhadap
pengembangan
aplikasi.
Pengembang
(developers) hanya perlu mengembangkan untuk Android, dan aplikasi
mereka dapat berjalan di berbagai jenis perangkat yang berbeda selama
perangkat tersebut didukung oleh Android. Dalam dunia smartphone, aplikasi
merupakan bagian terpenting dari rantai kesuksesan. Oleh karena itu,
produsen pengembangan perangkat melihat Android sebagai harapan terbaik
mereka untuk menantang produk iPhone (Lee, 2011, p2).
Menurut Krajci, Cummings (2014, p6-8), Android memiliki versi –
versi sebagai berikut:
i.
Android versi 1.0 (November 2007 beta version, September 2008
public version).
ii.
Android versi 1.5 Cupcake (30 April 2009).
iii.
Android versi 1.6 Donut (15 September 2009).
iv.
Android versi 2.0/2.1 Éclair (2.0 pada 26 Oktober 2009, 2.1 pada 2
Desember 2009).
v.
Android versi 2.2 Froyo (20 Mei 2010).
vi.
Android versi 2.3 Gingerbread (6 Desember 2010).
vii.
Android versi 3.0 Honeycomb (Februari 2011).
viii.
Android versi 4.0 Ice Cream Sandwich (19 Oktober 2011).
35
ix.
Android versi 4.1 Jelly Bean (9 Juli 2012).
x.
Android versi 4.4 KitKat (3 September 2013).
2.10.2 Fitur - Fitur Android
Lee (2011, p3) menyatakan bahwa Android adalah open-source dan
tersedia secara bebas bagi manufaktur untuk dilakukan kustomisasi. Tidak
ada konfigurasi khusus yang digunakan untuk hardware maupun software
yang digunakan. Namun, Android itu sendiri mendukung beragam fitur
sebagai berikut:
1.
Storage — Menggunakan SQLite, database relasional ringan untuk
penyimpanan data.
2.
Connectivity — Mendukung GSM / EDGE, IDEN, CDMA, EV-DO,
UMTS, Bluetooth, WiFi, LTE, WiMAX.
3.
Messaging — Mendukung SMS dan MMS.
4.
Web browser — Berdasarkan WebKit opensource, bersama dengan
mesin V8 JavaScript Chrome.
5.
Media support — Termasuk dukungan untuk media sebagai berikut:
H.263, H.264 (dalam 3GP atau MP4 kontainer), MPEG-4 SP, AMR,
AMR-WB (dalam kontainer 3GP), AAC, HE-AAC (dalam MP4 atau
3GP kontainer), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF,
dan BMP.
6.
Hardware support — Sensor Accelometer, Kamera, Kompas Digital,
Sensor Proximity, dan GPS.
7.
Multi-touch — Mendukung layar multi-touch.
8.
Multi-tasking — mendukung aplikasi multi-tasking.
9.
Flash support — Android 2.3 mendukung Flash 10.1.
10.
Tethering
—
Mendukung
wired/wireless hotspot.
berbagi
koneksi
internet
sebagai
36
2.10.3 Arsitektur Android
Menurut Lee (2011, p3-4), untuk memahami bagaimana Android
bekerja, Gambar 2.11 akan menjelaskan beragam lapisan (layers) yang
membentuk sistem operasi Android (operating system / OS).
Gambar 2. 11 Android Layers
Lee (2011, p3)
Sistem Operasi Android dibagi menjadi lima bagian dalam
empat lapisan utama:
1.
Linux kernel — Kernel yang berbasiskan Android. Pada
lapisan ini berisi semua perangkat lowlevel device untuk
berbagai komponen hardware pada perangkat Android.
2.
Libraries — Berisi semua kode yang menyajikan fitur utama
dari sistem operasi Android. Misalnya, SQLite memberi
dukungan
basis
data.
WebKit
library
menyediakan
fungsionalitas web browsing.
3.
Android runtime — Pada lapisan yang sama dengan libraries,
Android runtime menyediakan satu set core libraries yang
37
memungkinkan pengembang untuk mengembangkan aplikasi
Android menggunakan bahasa pemograman Java. Android
runtime juga termasuk mesin Dalvik virtual yang merupakan
mesin virtual yang dirancang secara khusus untuk Android dan
dioptimalkan untuk perangkat mobile bertenaga baterai dengan
memori dan CPU yang terbatas.
4.
Application framework — Mengekspos berbagai kemampuan
sistem operasi Android untuk pengembang sehingga dapat
digunakan ke dalam aplikasi mereka.
5.
Applications — Pada lapisan teratas ini, akan ditemukan
aplikasi yang dikirimkan melalui perangkat Android (seperti
telepon, kontak, browser, dan lain – lain), serta aplikasi yang
telah diunduh dan diinstall dari Android Market. Setiap
aplikasi yang telah diinstall akan berada pada lapisan ini.
2.11
Unified Modelling Language (UML)
UML merupakan seperangkat permodelan konvensi yang digunakan
untuk menspesifikasikan atau menggambarkan sebuah sistem perangkat lunak
yang terkait dengan objek (Whitten & Bentley, 2007, p371).
UML terdiri dari beberapa tipe diagram, antara lain:
2.11.1 Use Case Diagram
Menurut Whitten & Bentley (2007, p246), use case diagram
menggambarkan interaksi antara sistem, eksternal sistem, dan pengguna.
Dengan kata lain, secara grafis menggambarkan siapa yang akan
menggunakan sistem dan bagaimana pengguna berinteraksi dengan sistem.
Use case diagram juga menggambarkan urutan langkah setiap interaksi yang
dilakukan.
38
Gambar 2. 12 Contoh Use Case Diagram
Whitten & Bentley (2007, p246)
Notasi yang digunakan dalam use case diagram:
Tabel 2. 1 Notasi Use Case Diagram(a)
(Whitten & Bentley, 2007, p247-249)
Notasi
Keterangan
Use Case
Urutan skenario, baik otomatis
dan
manual
dengan
tujuan
menyelesaikan 1 task.
Actor
Sesuatu yang berinteraksi dengan
sistem untuk bertukar informasi.
39
Tabel 2. 2 Notasi Use Case Diagram(b)
(Whitten & Bentley, 2007, p247-249)
Association
Hubungan dimana aktor dan use
case berinteraksi.
Extend
Menyederhanakan
case
dengan
sumber
use
mewarisi
fungsionalitas yang sama.
Include (atau Uses)
Use
case
yang
mengurangi
redundansi antara dua atau lebih
use case.
System Boundary
Menggambarkan batasan use case
dari sistem yang akan dibuat.
2.11.2 Use Case Narrative
Saat mempersiapkan naratif – naratif yang akan digunakan,
dianjurkan untuk melakukan dokumentasi pada high level untuk memperoleh
pengertian dari event dan menentukan seberapa luas sistem yang akan
dibangun. Kemudian, memberikannya kepada setiap use case dan
memperluasnya menjadi sebuah naratif (Whitten & Bentley, 2007, p258).
40
Gambar 2. 13 Contoh Use Case Narrative
Whitten & Bentley (2007, p259)
2.11.3 Activity Diagram
Whitten & Bentley (2007, p390-391) berpendapat bahwa activity
diagram merupakan diagram yang dapat digunakan untuk menggambarkan
secara grafis aliran proses bisnis, langkah – langkah dari use case atau logika
dari perilaku objek (metode). Penggunaan activity diagram sangat berguna
untuk memodelkan tindakan yang akan dilakukan, seperti proses pemodelan
41
event yang menyebabkan window untuk ditampilkan atau ditutup. Activity
diagram ini sangatlah fleksibel sehingga mereka dapat digunakan dalam
analisis dan desain.
42
Gambar 2. 14 Contoh Activity Diagram
Whitten & Bentley (2007, p392)
43
Notasi yang digunakan dalam activity diagram:
Tabel 2. 3 Notasi Activity Diagram(a)
(Whitten & Bentley, 2007, p391)
Notasi
Keterangan
Initial node
Merepresentasikan keadaan awal
dari proses
Actions
Menggambarkan step – step aksi
yang dilakukan dalam proses
Flow
Menunjukkan progress pada aksi
Decision
Simbol diamond dengan alur satu
masuk dan dua atau lebih alur
keluar.
Merge
Simbol diamond dengan dua atau
lebih alur masuk dan dua atau
lebih alur keluar.
44
Tabel 2. 4 Notasi Activity Diagram(b)
(Whitten & Bentley, 2007, p391)
Notasi
Keterangan
Fork
Bar hitam dengan satu alur masuk
dan satu alur keluar
Join
Bar hitam dengan dua atau lebih
alur masuk dan satu alur keluar.
Activity final
Menunjukkan bahwa proses telah
selesai
2.11.4 Sequence Diagram
Menurut Whitten & Bentley (2007, p394), Sequence diagram adalah
diagram yang menggambarkan interaksi antara aktor dan sistem dalam
skenario use case. Sequence diagram membantu untuk mengidentifikasi
pesan – pesan yang masuk dan keluar dari sistem.
45
Gambar 2. 15 Contoh Sequence Diagram
Whitten & Bentley (2007, p395)
46
Notasi yang digunakan dalam sequence diagram:
Tabel 2. 5 Notasi Sequence Diagram(a)
(Whitten & Bentley, 2007, p394-395)
Notasi
Keterangan
Actor
Sesuatu yang berinteraksi dengan
sistem untuk bertukar informasi.
System
Kotak disamping menunjukkan
keadaan sistem yang berjalan.
Lifelines
Garis yang merepresentasi objek
dalam jangka waktu tertentu
Activation bars
Menggambarkan periode waktu
ketika melakukan interaksi.
Input messages
Kegiatan input diindikasikan oleh
garis dari aktor menuju sistem
47
Tabel 2. 6 Notasi Sequence Diagram(b)
(Whitten & Bentley, 2007, p394-395)
Notasi
Keterangan
Output messages
Kegiatan
output
diindikasikan
oleh garis putus – putus dari
sistem menuju aktor
Receiver actor
Aktor lain atau sistem eksternal
yang menerima pesan dari sistem.
Frame
Box yang berfungi untuk untuk
membagi
aktifitas
ke
dalam
beberapa bagian.
2.11.5 Class Diagram
Class diagram merupakan penggambaran objek struktur statik dari
sebuah sistem yang memperlihatkan isi dari sebuah sistem yang berisikan
hubungan antar class object (Whitten & Bentley, 2007, p400).
48
Gambar 2. 16 Contoh Class Diagram
Whitten & Bentley (2007, p406)
49
Notasi yang digunakan dalam class diagram:
Tabel 2. 7 Notasi Class Diagram(a)
(Whitten & Bentley, 2007, p400-405)
Notasi
Keterangan
Class
Deskripsi dari objek yang terbagi
atas atribut, operasi, dan relasi
yang sama. Class terdiri dari 3
bagian yakni nama class pada
bagian atas, atribut pada bagian
tengah, dan operasi pada bagian
bawah.
Association
Hubungan asosiasi antar objek
class yang saling berelasi.
Generalization
Merupakan relasi yang terdiri atas
supertype
(parent)
class
dan
subtype (child) class dimana suatu
class dapat lebih spesifik dari
class lainnya.
50
Tabel 2. 8 Notasi Class Diagram(b)
(Whitten & Bentley, 2007, p400-405)
Notasi
Keterangan
Aggregration
Hubungan
unik
yang
menspesifikasikan relasi antara
kumpulan (whole) dan sebuah
bagian (part).
Composition
Dilambangkan dengan diamond
yang berwarna.
Multiplicity
Menggambarkan
jumlah
objek
yang berpartisipasi dalam relasi
antar class.
2.12
Waterfall Model
Menurut Pressman (2010, p39), model waterfall, atau terkadang
disebut sebagai classic life cycle adalah pendekatan sistematis dan sekuensial
untuk pengembangan perangkat lunak yang diawali dengan spesifikasi
pelanggan
(Planning),
(Communication)
pemodelan
penyebaran (Deployment).
dan
(Modeling),
berlangsung
konstruksi
melalui
perencanaan
(Construction),
dan
51
Gambar 2. 17 Urutan Proses Model Waterfall
Pressman (2010, p39)
Berikut merupakan penjelasan mengenai lima tahapan model
waterfall menurut Pressman (2010, p15):
1.
Communication
Sebelum pekerjaan teknis dalam pembuatan sistem dimulai, ada baiknya
pengembang terlebih dahulu berkomunikasi dan berkolaborasi dengan
pelanggan dan stakeholder lainnya. Tujuannya adalah untuk memahami
sistem seperti apa yang diinginkan oleh stakeholder serta untuk
mengumpulkan informasi terkait seperti ketentuan – ketentuan yang
nantinya akan membantu mendefinisikan fitur dan fungsi dalam sistem.
2.
Planning
Pada tahap ini dilakukan perencanaan kerja para software engineering
dengan cara mendefinisikan serta menggambarkan tugas – tugas teknis
yang akan dilakukan, resiko yang mungkin dihadapi, sumber daya yang
akan dibutuhkan, produk pekerjaan seperti apa yang harus diproduksi,
serta pengaturan jadwal kerja.
3.
Modeling
Pada
tahap
ini
dilakukan
pembuatan
“sketsa”
sistem
untuk
mempermudah memahami gambaran – gambaran besar dari sistem yang
akan
dibuat.
Pada
tahap
pemodelan
ini software
engineering
menciptakan model desain perangkat lunak atau sistem dengan tujuan
agar dapat mengevaluasi lebih lanjut mengenai arsitektur sistem serta
untuk membantu menyelesaikan jika ditemukan permasalahan.
4.
Construction
Pada tahap ini dilakukan penggabungan antara coding dan testing yang
diperlukan dalam pembuatan suatu perangkat lunak atau sistem. Hal ini
52
bertujuan untuk mengungkap dan mengetahui kesalahan apa saja yang
terdapat dalamnya.
5.
Deployment
Pada tahap ini perangkat lunak atau sistem yang telah selesai dibuat akan
dipasarkan ke pelanggan. Selain itu dilakukan juga proses evaluasi
produk dengan cara mengumpulkan kritik, saran, dan umpan balik dari
pelanggan yang telah mencoba perangkat lunak atau sistem yang telah
dibuat.
2.13
State Transition Diagram (STD)
State Transition Diagram (STD) merupakan alat (tools) yang
digunakan untuk menggambarkan urutan dan variasi layar yang terjadi
selama pengguna melakukan sesi (Whitten & Bentley, 2007, p635).
Gambar 2. 18 Contoh State Transition Diagram
Whitten & Bentley (2007, p636)
Dari gambar diatas, Whitten & Bentley (2007, p636) menyatakan
bahwa bangun persegi menggambarkan apa maupun siapa saja yang terlibat
53
selama sesi berlangsung. Arah panah menunjukkan uruutan layar yang
terjadi. Panah yang berlabel memiliki arah tersendiri satu sama lain karena
setiap tindakan yang dilakukan berbeda – beda dan mengarah pada suatu
layar tententu.
2.14
Flowchart
Menurut Roberston (2006,
p264), flowchart merupakan metode
alternatif dalam merepresentasikan algoritma. Flowchart digambarkan
melalui simbol geometris yang dihubungkan dengan garis.
54
Gambar 2. 19 Contoh Flowchart
Robertson (2006, p294)
55
Notasi yang digunakan dalam flowchart:
Tabel 2. 9 Notasi Flowchart(a)
(Robertson, 2006, p264)
Notasi
Keterangan
Terminal symbol
Mengindikasikan awal atau akhir
dari sebuah logika. Setiap flowchart
harus dimulai dan diakhiri oleh
terminal symbol.
Input / Output symbol
Merepresentasikan proses input atau
output pada sebuah algoritma, seperti
membaca input atau menulis output.
Process symbol
Merepresentasikan proses tunggal
dalam
sebuah
algoritma,
seperti
menentukan nilai atau melakukan
perhitungan. Flow control bersifat
urutan (sequential).
56
Tabel 2. 10 Notasi Flowchart(b)
(Robertson, 2006, p264)
Notasi
Keterangan
Predefined process symbol
Merupakan modul dalam sebuah
algoritma, yaitu proses yang telah
ditetapkan yang memiliki flowchart
tersendiri.
Decision symbol
Merupakan proses keputusan dalam
logika
yang
melibatkan
perbandingan dari dua nilai. Jalur
algoritma
akan
dilanjutkan
tergantung pada apakah decision
symbol benar atau salah.
Flowlines
Flowlines menghubungkan berbagai
simbol
dalam
flowchart,
dan
mempunyai anak panah hanya ketika
flow control tidak dari atas ke bawah
atau kiri ke kanan.
57
2.14.1 Struktur Kontrol Dasar Flowchart
Terdapat tiga struktur kontrol dasar dalam pembuatan flowchart
(Roberston, 2006, p265-268). Antara lain:
1.
Sequence — Pengeksekusian langsung dari satu langkah processing
ke langkah lainnya. Sebuah flowchart mewakili struktur kontrol ini
sebagai rangkaian simbol proses bersusun kebawah dengan satu
awalan dan satu akhiran.
Gambar 2. 20 Contoh Struktur Kontrol Sequence
Robertson (2006, p265)
2.
Selection — Representasi penyajian kondisi dan pilihan antara dua
tindakan tergantung pada apakah kondisinya benar atau salah.
Gambar 2. 21 Contoh Struktur Kontrol Selection
Robertson (2006, p266)
58
3.
Repetition — Representasi dari set instruksi yang dapat dilakukan
berulang – ulang, selama kondisi terpenuhi. Ide dasarnya yaitu blok
pernyataan dijalankan lagi dan lagi, sampai kondisi terakhir terjadi.
Gambar 2. 22 Contoh Struktur Kontrol Repetition
Robertson (2006, p267)
2.15
Interaksi Manusia dan Komputer (IMK)
Menurut Shneiderman & Plaisant (2010, p31), pengertian Interaksi
Manusia dan Komputer adalah suatu ilmu yang mempelajari tentang
bagaimana manusia melakukan interaksi dengan komputer. Beberapa hal
yang berhubungan dengan user interface seperti perancangan, evaluasi, dan
implementasi dari sistem interaksi perlu diperhatikan agar dapat menciptakan
sistem komputer yang interaktif untuk digunakan oleh manusia.
2.15.1 Lima Faktor Manusia Terukur
Dalam perancangan desain antarmuka, terdapat beberapa faktor yang
perlu diperhatikan dan dipahami oleh perancang sebelum melakukan proses
pembuatan sistem atau aplikasi lebih jauh. Shneiderman & Phaisant (2010,
p32) menyatakan bahwa terdapat lima faktor manusia terukur dalam desain
antarmuka penguna, antara lain:
1. Waktu belajar (Time to learn)
Berapa lama waktu yang dibutuhkan pengguna dalam hal mempelajari
sekumpulan perintah maupun tindakan pada suatu tugas? Dalam hal ini,
59
tingkat efisiensi atau kemudahan dalam pengoperasian sistem sangatlah
penting. Hal ini bertujuan agak pengguna tidak membutuhkan waktu lama
untuk memahami sistem.
2. Kecepatan kinerja (Speed of performance)
Berapa lama waktu yang dibutuhkan untuk melakukan tugas? Dengan kata
lain seberapa efektif kinerja sistem ketika digunakan.
3. Tingkat kesalahan (Rate of errors by users)
Berapa banyak dan jenis kesalahan apa sajakah yang dilakukan oleh
pengguna dalam melakukan atau menyelesaikan suatu tugas? Tingkat
kesalahan aplikasi sistem harus dapat diminimalisir sekecil mungkin untuk
memudahkan pengguna.
4. Daya ingat (Retention over time)
Seberapa baik pengguna mempertahankan pengetahuan mereka setelah
satu jam, satu hari, maupun satu minggu? Tingkat daya ingat pengguna
dipengaruhi oleh waktu belajar dan frekuensi penggunaan aplikasi sistem.
Semakin sering pengguna menggunakan sistem maka semakin mudah
pengguna mengingat sistem tersebut.
5. Kepuasan subjektif (Subjective satisfaction)
Seberapa suka pengguna dalam menggunakan variasi aspek dari suatu
sistem (interface)? Tingkat kepuasan pengguna dapat dievaluasi dan
dipastikan dengan cara interview, kuesioner, survey, dan lainnya.
2.15.2 Delapan Aturan Emas (Eight Golden Rules)
Menurut Shneiderman & Plaisant (2010, p88-89), terdapat delapan
prinsip yang disebut Delapan Aturan Emas (Eight Golden Rules). Prinsip –
prinsip tersebut perlu diterapkan dalam perancangan antar muka yang baik
agar menghasilkan sistem interaktif yang baik, antara lain:
1. Berusaha untuk konsisten (Strive for consistency)
Urutan konsisten tindakan diterapkan melalui terminologi identik yang
digunakan pada prompt, menu dan help screens; konsistensi pemilihan
warna, tata letak, kapitalisasi, font, dan sebagainya harus diterapkan secara
konsisten di keseluruhan aplikasi sistem.
2. Menyediakan usability universal (Cater to universal usability)
60
Kenali kebutuhan pengguna yang beragam dalam memfasilitasi konten.
Perbedaan pemula-ahli (novice-expert), rentang usia, disabilitas, dan
keanekaragaman teknologi masing – masing memperkaya spektrum
pesyaratan dalam proses perancangan sistem. Menambahkan fitur untuk
pemula, seperti penjelasan, dan fitur untuk ahli, seperti shortcut, dapat
memperkaya desain antarmuka dan meningkatkan kualitas aplikasi sistem.
3. Memberikan umpan balik yang informatif (Offer informative feedback)
Dalam setiap aksi yang dilakukan oleh pengguna, harus tersedia sebuah
umpan balik. Namun, umpan balik yang dibuat harus memenuhi aturan
tertentu seperti bersifat informatif dan efektif agar dapat menunjukkan
hasil yang eksplisit.
4. Merancang dialog untuk menghasilkan keadaan akhir (Design dialogs to
yield closure)
Urutan tindakan harus membentuk suatu urutan yang diatur ke dalam grup
– grup dimana terdapat bagian awal, tengah, dan akhir. Umpan balik yang
informatif akan membantu perancang untuk mempersiapkan tindakan
selanjutnya dengan lebih baik lagi.
5. Mencegah kesalahan (Prevent errors)
Sebisa mungkin dalam perancangan sistem harus dapat menghindarkan
pengguna dari berbagai kesalahan sebelum kesalahan tersebut terjadi. Jika
pengguna melakukan kesalahan, system interface harus dapat mendeteksi
kesalahan dan menawarkan instruksi sederhana, konstruktif, dan spesifik
untuk dapat melakukan recovery. Sebagai contoh, pengguna tidak perlu
mengetik ulang keseluruhan nama sampai alamat ketika mengisi form jika
mereka memasukkan kode pos yang salah, melainkan hanya perlu
memperbaiki bagian yang salah atau tidak sesuai saja.
6. Memungkinkan pembalikan aksi (undo) yang mudah (Permit easy reversal
of actions)
Tindakan yang dilakukan oleh sistem haruslah bersifat reversible. Hal ini
dapat mengurangi kecemasan dari pengguna, karena pengguna mengetahui
bahwa kesalahan dapat diperbaiki. Dengan ini pengguna akan terdorong
untuk melakukan eksplorasi lebih lanjut terhadap sistem dan tidak merasa
bingung jika melakukan kesalahan.
61
7. Mendukung pusat kendali internal (Support internal locus of control)
Expert user menginginkan bahwa mereka bertanggung jawab atas
interface dan bagaimana interface merespon tindakan mereka. Sistem
harus dapat memberikan respon sesuai dari setiap aksi yang dilakukan
pengguna karena manusia yang memegang kontrol dari suatu sistem.
8. Mengurangi beban ingatan jangka pendek (Reduce short-term memory
load)
Kapasitas ingatan manusia yang terbatas mensyaratkan bahwa perancang
harus menghindari interface di mana pengguna harus mengingat informasi
dari satu layar ke layar lainnya. Rancangan tampilan sistem harus
dirancang sesederhana mungkin agar mudah dimengerti oleh pengguna
dengan cara mengurangi pergerakan window, waktu pelatihan yang cukup
diberikan kepada pengguna untuk kode – kode, hapalan, dan urutan aksi
tindakan.
2.15.3 Kategori Pengguna
Mempelajari mengenai kategori pengguna merupakan ide yang
sederhana namun terkadang bisa bersifat menjebak. Seluruh desain sistem
haruslah dimulai dengan menentukan tipe – tipe pengguna, termasuk umur,
jenis kelamin, kultur, edukasi, latar belakang, personalitas, dan lainnya. Maka
dari itu, sebelum membuat suatu perangkat lunak sebaiknya dipertimbangkan
dahulu kategori pengguna yang akan menggunakan aplikasi tersebut.
Shneiderman & Phaisant (2010, p81-82) membagi kategori pengguna
menjadi tiga, yaitu:
1. Novice atau first-time users
Pengguna yang benar – benar pemula diasumsikan hanya mengetahui
bagian kecil saja task dari sebuah konsep sistem. Maka dari itu, aplikasi
yang dibuat untuk pengguna seperti ini sebaiknya diatur agar dapat
digunakan semudah mungkin. Jumlah tindakan juga harus kecil sehingga
pengguna pemula atau pertama kali dapat melakukan tugas – tugas
sederhana dengan lancar dna dengan demikian akan mengurangi
kecemasan, membangun percaya diri, dan mendapatkan penguatan positif.
62
Selain itu disarankan juga membuat umpan balik, petunjuk penggunaan,
video demonstrasi, atau tutorial.
2. Knowledgeable intermitten users
Kategori ini merupakan kategori pengguna yang sudah mengerti konsep
serta pengetahuan mengenai komputer, namun belum mengerti atau masih
merasa kesulitan dalam menggunakan suatu aplikasi. Konsistensi tindakan,
panduan yang jelas akan membantu pengguna kategori ini untuk dapat
mempelajari aplikasi secara jelas namun tidak perlu terlalu mendalam atau
detail seperti kategori novice.
3. Expert frequent users
Untuk pengguna kategori expert, biasanya sudah familiar dengan berbagai
task dan konsep yang ada pada aplikasi dan ingin agar pekerjaannya cepat
selesai. Maka dari itu diusahakan membuat umpan balik sesingkat
mungkin agar dapat mempercepat tindakan yang dilakukan, seperti
melengkapi aplikasi dengan berbagai shortcut.
2.16
Internet
Menurut Connolly (2010, p1024-1025), internet adalah koleksi dari jaringan
komputer yang saling berhubungan satu sama lain. Internet terdiri dari banyak
jaringan yang terpisah namun saling berhubungan antar komersial, organisasi
pendidikan dan pemerintahan, dan Internet Service Providers (ISPs). Layanan yang
ditawarkan oleh internet termasuk electronic mail (e-mail), layanan chat dan
konferensi, serta kemampuan untuk mengakses berbagai macam informasi,
mengirim dan menerima file.
2.17 HTTP (Hypertext Transfer Protocol)
HTTP adalah protokol agar client dan server dapat berkomunikasi dengan
cara request-response. HTTP menentukan bagaimana format pesan dan bagaimana
cara pengirimannya, serta bagaimana web server dan browser merespons berbagai
tindakan (Hidayatullah & Kawistara, 2014, p5).
63
2.18
TCP/IP
Transport Control Protocol/Internet Protocol (TCP/IP) adalah sekelompok
protokol sistem yang mendukung jaringan komunikasi data komputer di internet.
Komputer – komputer yang terhubung melalui internet dapat melakukan komunikasi
dengan protokol ini, karena menggunakan bahasa yang sama, yakni protokol
TCP/IP. Jadi, ketika sebuah komputer menggunakan protokol TCP/IP dan terhubung
langsung ke internet, maka komputer tersebut dapat berhubungan dengan komputer
manapun yang juga terhubung ke internet (Casad, 2012, p7).
2.19
Pengenalan HTML
HTML merupakan bahasa standar untuk membuat suatu dokumen
HTML (halaman web) yang terdiri dari kode – kode tertentu. Kode – kode
tersebut akan memerintahkan web browser dalam menampilkan halaman web
yang terdiri dari berbagai macam format file seperti teks, grafik, animasi, link
maupun audio-video.
2.19.1 Pengertian HTML
HTML adalah singkatan dari HyperText Markup Language. Dokumen
HTML merupakan dasar dari semua konten yang terdapat pada World Wide
Web (WWW), terdiri dari dua bagian penting: konten informasi dan satu set
instruksi
yang
akan
menginstruksikan
komputer
bagaimana
untuk
menampilkan konten tersebut. Instruksi “markup” terdiri dari bahasa HTML.
Instruksi ini tidak termasuk dalam bahasa pemograman dalam arti tradisional,
melainkan suatu set instruksi tentang bagaimana caranya menampilkan
konten. Aplikasi komputer yang menerjemahkan penjelasan ini disebut
dengan Web Browser. Idealnya, konten online harus terlihat sama terlepas
dari sistem operasi yang browser gunakan (Brooks, 2011, p1).
Menurut Brooks (2011, p1-2), dokumen HTML dasar membutuhkan
minimal empat set elemen dasar:
<html> ... </html>
<head> ... </head>
<title> ... </title>
64
<body> ... </body>
Elemen – elemen ini menentukan bagian penting dari sebuah
dokumen HTML yang anata lain dokumen itu sendiri, bagian heading, bagian
title, dan body. Tag HTML selalu menggunakan kurung sudut: <...>. Tag
akhir dimulai dengan garis miring (/). Selain itu, beberapa elemen HTML
hanya memiliki satu tag. Sebagian besar tag seharusnya dibuat berpasangan,
namun terdapat beberapa pengecualian dalam HTML. Dalam rangka
mendukung scripting language seperti JavaScript, elemen lain harus
ditambahkan ke dalam empat elemen dasar (Brooks, 2011, p2).
<script> ... </script>
Menurut Brooks (2011, p2), elemen skrip selalu berisikan kode
JavaScript. Elemen – elemen ini diatur sedemikian rupa di dalam dokumen
HTML dengan format sebagai berikut:
<html>
<head>
<title> ... </title>
...
<!— Optional script elements as needed. -->
<script> ... </script>
</head>
<body>
...
</body>
</html>
2.20
PHP: Hypertext Preprocessor (PHP)
PHP adalah scripting language yang kuat dimana ia dapat berjalan
dengan sendirinya pada command line dari komputer manapun dengan PHP
yang telah diinstall. Namun, PHP saja tidak cukup untuk membangun sebuah
situs dinamik. Untuk menggunakan PHP pada sebuah situs, dibutuhkan
server yang dapat memproses skrip PHP. Apache adalah situs server gratis
bilamana telah diinstall pada komputer, memungkinkan pengembang untuk
65
menguji / mencoba skrip PHP secara lokal; hal ini merupakan sesuatu yang
sangat berharga bagi lingkungan pengembangan (Lengstorf & Hansen, 2014,
p3).
Selain itu, situs yang dikembangkan menggunakan PHP sering
mengandalkan informasi yang tersimpan di dalam basis data, sehingga mudah
untuk di modifikasi. Hal inilah yang menjadi perbedaan antara situs PHP dan
situs HTML. Disini, sistem manajemen relasional basis data seperti MySQL
turut ikut serta. MySQL merupakan basis data yang tepat karena bersifat open
source dan PHP menyediakan dukungan untuk MySQL (Lengstof, Hansen,
2014, p3).
PHP merupakan sebuah bahasa skrip yang bersifat general-purpose
yang awalnya ditemukan oleh Rasmus Lerdof pada tahun 1995. Lerdof
membuat PHP untuk memudahkan kebutuhan saat memproses data untuk
World Wide Web (Lengstof & Hansen, 2014, p3).
2.21
Pengenalan Eclipse IDE
Menurut Burnette (2005, p1), Eclipse IDE dapat digunakan untuk
mengembangkan perangkat lunak dalam bahasa pemograman apapun, tidak
hanya Java. Eclipse dimulai sebagai pengganti untuk Visual Age Java dari
IBM, namun berubah menjadi open source pada November 2001. Kini
Eclipse dikelola oleh organisasi non-profit bernama Eclipse Foundation.
Sejak tahun 2001, Eclipse telah diunduh lebih dari 50 juta kali dan sekarang
digunakan oleh ribuan pengembang di seluruh dunia. Eclipse juga memiliki
peranan yang besar dalam lingkup universitas, dimana Eclipse digunakan
dalam kelas programming dan object-oriented design.
2.21.1 System Requirements
Menurut Burnette (2005, p2), Eclipse beroperasi pada sistem operasi
populer saat kini, termasuk Windows, Linux, dan Mac OS. Eclipse
membutuhkan Java agar dapat beroperasi, sehingga jika belum memiliki Java
pada komputer, maka dianjurkan untuk menginstall Java terlebih dahulu. Java
untuk Windows dan Linux dapat diunduh dari situs http://java.sun.com; untuk
66
Mac OS, ia telah memiliki Java yang sudah terinstall secara default. Berikut
persyaratan sistem minimun yang direkomendasikan untuk menjalankan
Eclipse (Gambar 2.23).
Gambar 2. 23 System Requirements untuk Eclipse
Burnette (2005, p3)
2.22
Pengenalan MySQL
MySQL merupakan perangkat lunak basis data open source yang
paling populer di dunia, dimana saat ini digunakan oleh lebih dari 100 juta
pengguna di seluruh dunia. Dengan kehandalan, kecepatan dan kemudahan
penggunaannya, MySQL menjadi pilihan utama bagi banyak developer
perangkat lunak dan aplikasi baik pada platform web maupun desktop.
2.22.1 Pengertian MySQL
Basis data (database) merupakan kumpulan catatan atau data yang
disimpan secara terstruktur dalam sistem komputer dan diorganisasikan
sedemikian rupa sehingga dapat dicari secara cepat dan informasi bisa segera
diterima. SQL pada MySQL merupakan kepanjangan dari Structured Query
Language. Bahasa pemograman yang digunakan MySQL berdasarkan pada
bahasa Inggris yang juga digunakan pada basis data lain seperti Oracle dan
Microsoft SQL Server. Hal ini dirancang untuk memungkinkan permintaan
sederhana dari basis data melalui perintah seperti:
SELECT title FROM publications WHERE author = ‘Charles Dickens’;
Sebuah basis data MySQL berisi satu atau lebih tabel, dimana masing
– masing tabel berisi catatan atau baris dari data itu sendiri (Nixon, 2014,
p171).
67
2.22.2 Menghubungkan MySQL Menggunakan PHP
Menurut Nixon (2014, p241), alasan menggunakan PHP sebagai
interface untuk menghubungkan MySQL adalah agar dapat memformat hasil
query SQL ke dalam bentuk tampilan halaman situs. Selama pengguna dapat
melakukan login ke dalam MySQL menggunakan username dan password
yang dimiliki, maka pengguna dapat melakukannya melalui PHP. Namun,
daripada menggunakan perintah MySQL untuk melakukan instruksi dan
melihat hasil output, pengguna akan membuat query string yang akan dikirim
menuju MySQL. Ketika MySQL memberikan respon atas query string, query
string akan menjadi struktur data yang dikenal oleh PHP, tidak lagi sebagai
format keluaran yang terlihat pada command line.
Tahapan proses dalam menggunakan MySQL dengan PHP menurut
Nixon (2014, 242) antara lain:
1.
Connect ke SQL
2.
Pilih basis data yang akan digunakan
3.
Membangun query string
4.
Menjalankan query
5.
Ambil hasil dan lakukan output ke dalam halaman situs
6.
Ulangi langkah 3 sampai 5 hingga semua data yang diinginkan telah
diambil
7.
Disconnect dari MySQL
Pada proses pengerjaan diatas, hal terpenting yang harus dilakukan
adalah memastikan bahwa aktifitas login dilakukan secara aman sehingga
dapat meminimalisir kemungkinan pihak lain yang tidak berwenang untuk
mengakses basis data pengguna.
2.23
Pengenalan SQLite
Dalam istilah sederhana, SQLite adalah software publik-domain yang
menyediakan sistem relasional basis data (relational database management
system / RDBMS). Sistem relasional basis data digunakan pengguna untuk
menyimpan record data. Selain penyimpanan data dan manajemen, database
engine dapat memproses perintah query yang kompleks dimana ia
menggabungkan data dari beberapa tabel untuk menghasilkan laporan dan
68
ringkasan data. Beberapa produk RDBMS populer lainnya meliputi Oracle
Database, IBM DB2, Microsoft SQL on commersial side, dan PostgreSQL
yang bersifat open source. (Keribich, 2010, p1).
2.23.1 Fitur – Fitur SQLite
Menurut Keribich (2010, p1-2), beberapa fitur dari SQLite antara lain:
i.
Serverless — SQLite tidak memerlukan sistem atau server yang
terpisah untuk beroperasi. Library SQLite mengakses dokumen
penyimpanan secara langsung.
ii.
Zero Configuration — Tidak ada server berarti tidak ada pengaturan.
Membuat basis data SQLite.
iii.
Cross-Platform — Keseluruhan basis data berada dalam sebuah
dokumen cross-flatform tunggal dan tidak memerlukan administrasi.
iv.
Self-Contained — Sebuah library tunggal berisi sistem basis data
secara keseluruhan, yang diintegrasikan secara langsung ke dalam
aplikasi host.
v.
Small Runtime Footprint — Pembangunan kode default kurang dari
satu megabyte dan hanya memerlukan beberapa megabyte memori.
Dengan menggunakan beberapa penyesuaian, ukuran library maupun
penggunaan memori yang dapat dikurangi secara signifikan.
vi.
Transactional — Transaksi SQLite sepenuhnya bersifat ACIDcompliant, dimana memungkinkan akses yang aman dari beberapa
proses atau thread.
vii.
Full-Featured — SQLite mendukung sebagian besar fitur bahasa
query yang ditemukan di SQL92 (SQL2).
viii.
Highly Reliable — Tim pengembangan SQLite melakukan pengujian
kode dan melakukan verifikasi dengan serius.
2.24
Application Programming Interface (API)
Menurut Tulach (2008, p1-14), API tidak hanya terdiri dari kumpulan
class maupun fungsi sederhana. API bertujuan untuk mengatasi “clueless”
69
dalam membangun software berukuran besar, dimulai dari sistem sederhana
hingga yang kompleks. Segala permasalahan yang ditemukan ketika
melakukan update pada database atau skema XML, proses update dapat
dipermudah menggunakan bantuan API.
API merupakan sekumpulan perintah fungsi, class dan protokol yang
dapat menghubungkan suatu software dengan software lainnya. Pada saat
melakukan coding, programmer dapat menghemat waktu dalam membuat
dan menyusun infrastruktur. Hal ini dikarenakan API memiliki tujuan untuk
menghilangkan “clueless” pada sistem dengan cara membuat blok besar dari
software di seluruh dunia serta menggunakan kembali berbagai
fungsi dan
class yang API miliki.
2.25
JSON
Menurut situs resminya (json.org), JSON (JavaScript Object
Notation) adalah format pertukaran data yang ringan, mudah dibaca dan
ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh
komputer. Format ini dibuat berdasarkan bagian dari Bahasa pemograman
JavaScript, Standar EMA-262 Edisi ke-3 – Desember 1999. JSON merupakan
format teks yang tidak bergantung pada bahasa pemograman apapun karena
menggunakan gaya bahasa yang umum digunakan oleh programmer bahasa C
termasuk C, C++, C#, Java, JavaScript, perl, Python, dan lain – lain. Oleh
karena sifat – sifat tersebut, JSON merupakan format yang ideal sebagai
bahasa pertukaran-data.
2.25.1 Struktur JSON
JSON terdiri dari 2 struktur:
1.
Kumpulan pasangan nama / nilai. Pada beberapa bahasa, hal ini
dinyatakan sebagai objek (object), rekaman (record), struktur (struct),
kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed
list), atau associative array.
70
2.
Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan
bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector),
daftar (list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada
dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini
dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian
karena
format
data
mudah
dipertukarkan
dengan
bahasa-bahasa
pemprograman yang juga berdasarkan pada struktur data ini (json.org).
2.26
XML
XML (Extensible Markup Language) merupakan sebuah metalanguage (bahasa untuk mendeskripsikan bahasa lain) yang memungkinkan
pengguna untuk membuat tag sendiri yang disesuaikan untuk menyediakan
fungsuinalitas yang tidak tersedia dengan HTML. XML adalah versi terbatas
dari SGML (Standard Generalized Markup Language), dirancang khusus
untuk web document. Sebagai contoh, XML mendukung link yang mengarah
ke beberapa dokumen, sedangkan link dari HTML hanya dapat mereferensi
satu tujuan dokumen. (Connolly & Begg, 2010, p1113).
2.26.1 Keuntungan XML
Menurut Connolly & Begg (2010, p1114-1116), XML memiliki
beberapa keuntungan, antara lain:
1.
Simplicity — XML di desain menggunakan bahasa yang lebih mudah
dipahami dan lebih masuk akal.
2.
Open
standard
and
platform-/vendor-independent
—
XML
merupakan platform-independent dan vendor-independent, bentuk
terbatas dari SGML, sebuah standar ISO. XML juga berdasarkan pada
ISO 10646, set karakter unicode, dan mendukung teks dari seluruh
jenis alfabet di seluruh dunia.
71
3.
Extensibility — Memungkinkan pengguna untuk mendefisinikan
kebutuhan sesuai dengan dibutuhkan oleh aplikasi.
4.
Reuse — Memungkinkan library XML untuk digunakan dalam
aplikasi lain.
5.
Separation of content and presentation — XML memisahkan isi
dokumen dari cara penyampaiannya.
6.
Improved load balancing — Data dapat dikirim ke browser pada
desktop untuk melakukan perhitungan lokal, komputasi offloading
dari server untuk memperoleh load balancing yang lebih baik.
7.
Support for the integration of data from multiple sources —
Kemampuan untuk mempermudah melakukan penggabungan dalam
pengintegrasian data dari banyak sumber.
8.
Ability to describe data from a wide variety of applications — XML
dapat digunakan untuk mendeskripsikan data yang terkandung dalam
berbagai jenis aplikasi.
9.
More advanced search engines — Dengan menggunakan XML,
search engine akan lebih mudah untuk membagi tag yang berisi
deskripsi.
10.
New opportunities — Teknologi XML lebih banyak menawarkan
kesempatan di era teknologi saat ini.
2.27
Web Server XAMPP
Menurut Hidayatullah & Kawistara (2014, p125), web server
digunakan untuk menguji suatu aplikasi web dan merupakan tempat dimana
aplikasi web di simpan kemudian di akses melalui internet. Jika ingin
melakukan perubahan kecil maupun besar, data akan di upload ke web
server baru kemudian dilakukan pengecekan apakah perubahan yang di buat
sudah sesuai atau belum.
Selain itu alasan dibutuhkannya web server adalah karena untuk
server side script seperti PHP, pengecekan baru akan tampil jika
menggunakan web server. Itulah bedanya client side script seperti HTML,
72
CSS, dan javascript dimana hanya membutuhkan browser untuk
mengeksekusi script tersebut (Hidayatullah & Kawistara, 2014, p125).
Salah satu web server yang terkenal adalah apache. Apache
merupakan salah satu projek dari sebuah perusahaan yang memiliki proyek
perangkat lunak gratis untuk digunakan banyak orang. Perusahaan tersebut
bernama The Apache Sofware Foundation (Hidayatullah & Kawistara,
2014, p126).
2.28
phpMyAdmin
Menurut
situs
resminya
(http://www.phpmyadmin.net/home_page/index.php), phpMyAdmin adalah
perangkat lunak gratis yang ditulis dalam PHP, bertujuan untuk
menangangi
proses
administrasi
MySQL
melalui
situs
(website).
phpMyAdmin mendukung berbagai operasi MySQL, MariaDB, dan
Drizzle. Operasi yang sering digunakan seperti mengelola basis data, tabel,
kolom, relasi, indeks, pengguna, perizinan, dan lainnya dapat dikerjakan via
user interface, sementara pengguna masih dapat mengeksekusi secara
langsung beragam statement dari SQL.
2.28.1 Fitur phpMyAdmin
Situs
resmi
phpMyAdmin
(http://www.phpmyadmin.net/home_page/index.php) menyatakan bahwa
phpMyAdmin memiliki beragam fitur, antara lain:
1.
Web interface yang intuitif
2.
Mendukung sebagian besar fitur MySQL:
a. Browse dan drop basis data, tabel, views, field, dan indeks.
b. Maintenance server, basis data dan tabel, dengan proposal pada
konfigurasi server.
c. Mengeksekusi, edit, dan bookmark setiap pernyataan SQL serta
batch-queries.
73
d. Mengelola pengguna MySQL dan hak – hak istimewa yang
dimiliki pengguna.
e. Mengelola penyimpanan prosedur.
3.
Dapat mengimport data dari CSV dan SQL.
4.
Data dapat diekspor ke berbagai format seperti CSV, SQL, XML, PDF,
ISO/IEC 26300 – OpenDocument Text and Spreadsheet, Word, L A T
E X, dan lainnya.
5.
Dapat mengelola beberapa server.
6.
Dapat membuat grafis PDF untuk layout basis data.
7.
Dapat membuat query yang kompleks menggunakan Query-by-example
(QBE).
8.
Dapat mencari basis data secara global beserta subsetnya.
9.
Transformasi stored data ke dalam format apapun menggunakan satu
set fungsi yang telah ditetapkan, seperti menampilkan gambar BLOBdata atau link download.
2.29
Yii Framework
Menurut
situs
resminya
guide/1.1/id/quickstart.what-is-yii),
(http://www.yiiframework.com/doc/
Yii
merupakan
kerangka
kerja
(framework) PHP berbasis-komponen, berkinerja tinggi untuk pengembangan
aplikasi web berskala-besar. Yii menyediakan reusability maksimum dalam
pemrograman web dan mampu meningkatkan kecepatan pengembangan
secara signifikan. Nama Yii (dieja sebagai /i:/) singkatan dari "Yes It Is!".
Berikut merupakan respon yang paling tepat dan akurat untuk yang baru
dengan Yii:
Apakah Yii cepat? Apakah Yii aman? Apakah Yii profesional?
Apakah Yii cocok untuk projek saya berikutnya? Yes, it is!
Yii adalah framework pemrograman umum web yang dapat digunakan
untuk mengembangkan semua jenis aplikasi web. Hal ini dikarenakan Yii
sangat ringan dan dilengkapi dengan mekanisme caching yang canggih, Yii
sangat cocok untuk pengembangan aplikasi dengan lalu lintas tinggi, seperti
74
portal, forum, sistem manajemen konten (CMS), sistem e-commerce, dan lain
– lain.
2.29.1 Syarat Penggunaan Yii
Situs
resmi
Yii
(http://www.yiiframework.com/doc/guide/1.1/id/quickstart.what-is-yii)
menyatakan bahwa untuk menjalankan aplikasi web berbasis Yii, diperlukan
web server yang mendukung PHP 5.1.0. Bagi para developer yang ingin
menggunakan Yii, mengerti pemrograman berorientasi-objek (OOP) akan
sangat membantu, karena Yii merupakan framework OOP murni.
2.29.2 Perbandingan Yii dengan Framework Lain
Seperti kebanyakan PHP framework, Yii adalah MVC framework. Yii
melampaui framework PHP lain dalam hal efisiensi, kekayaan fitur, dan
kejelasan dokumentasi. Yii didesain dengan hati – hati dari awal agar sesuai
untuk pengembangan aplikasi web secara serius. Yii bukan berasal dari
produk pada beberapa proyek maupun konglomerasi pekerjaan pihak ketiga.
Yii merupakan hasil dari pengalaman kaya para pembuat pada pengembangan
aplikasi web dan investigasi framework pemrograman web dan aplikasi yang
paling
popular
(http://www.yiiframework.com/doc/guide/1.1/id/quickstart.what-is-yii).
2.30
MVC (Model View Controller)
MVC (Model View Controller) merupakan pola desain perangkat
lunak yang dibuat di sekitar interkoneksi dari tiga jenis komponen utama,
dalam bahasa pemograman seperti PHP, sering diterapkan fokus yang kuat
pada paradigma object oriented programming (OOP). Tiga komponen
tersebut yakni model, view, dan controller. Model merupakan tempat dimana
semua logika bisnis aplikasi disimpan. Logika bisnis dapat berupa sesuatu
yang spesifik mengenai bagaimana aplikasi menyimpan data, atau
75
menggunakan jasa third party dalam rangka memenuhi kebutuhan bisnis.
Ketika aplikasi harus mengakses informasi dalam basis data, kode untuk
melakukan tindakan akan disimpan dalam model. Jika diperlukan, misalnya
ketika ingin mengambil data saham atau tweet mengenai produk baru, kode
juga akan disimpan dalam model. View adalah dimana semua elemen user
interface dari aplikasi disimpan. Hal ini mencakup markup HTML, CSS style
sheet, dan file JavaScript. Apapun yang pengguna lihat atau berinteraksi
dapat disimpan dalam sebuah view. Terkadang, apa yang pengguna lihat
sebenarnya merupakan kombinasi dari beberapa view yang berbeda dalam
request yang sama (Pitt, 2012, p1).
Pitt (2012,p1) menyatakan bahwa Controller adalah komponen yang
menghubungkan model dan view bersama – sama. Controller mengisolasi
model logika bisnis dari elemen user interface view, kemudian menangani
bagaimana aplikasi akan merespon interaksi pengguna dalam view.
Controller merupakan titik masuk kedalam ketiga komponen ini, karena
request pertama kali akan melalui controller terlebih dahulu yang kemudian
akan meminta model dan view untuk memenuhi permintaan untuk aplikasi.
Gambar 2. 24 MVC dalam Nutshell
Pitt (2012, p2)
2.30.1 Manfaat MVC
Menurut Pitt (2012, p2), ketika membangun sebuah web aplikasi,
terdapat banyak aspek yang dapat menghambat kinerja dari proyek yang
sedang berlangsung. Beberapa contoh diantaranya seperti desain seperti apa
yang dapat menstimulasi interest terhadap produk, logika bisnis seperti apa
76
yang dibutuhkan untuk melakukan hal – hal praktis seperti proses penjualan
dan pembelian, serta proses mengenai improving, updating, dan bug-fixing
pada aplikasi.
Pada suatu aplikasi terstruktur, area – area tersebut cenderung
didapatkan suatu masalah. Misalnya, ketika basis data perlu dilakukan
perubahan untuk mengakomodasi produk baru, atau perusahaan memutuskan
untuk mengubah citra, hal ini tidak hanya mempengaruhi perubahan code
saja. Semua developer harus lebih terlibat agar dapat memastikan bahwa
perubahan di salah satu bagian dari aplikasi tidak berdampak buruk kepada
bagian – bagian lainnya (Pitt, 2012, p2).
Masalah inilah yang MVC berusaha untuk atasi. MVC mendefinisikan
wadah untuk semua code dan fitur dari aplikasi. Ketika perubahan code basis
data diisolasi ke dalam model, view dan controller tidak akan break. Ketika
artwork dari aplikasi berubah secara drastis, controller dan model akan aman
dari break (Pitt, 2012, p3).
2.30.2 Yii MVC
Menurut
situs
(http://www.yiiframework.com/doc/guide/1.1/id/basics.mvc),
resmi
Yii
mengimplementasikan pola desain MVC dalam pemrograman web. MVC
bertujuan untuk memisahkan logika bisnis dari pertimbangan antar muka
pengguna agar memudahkan developer untuk mengubah setiap bagian tanpa
mempengaruhi bagian lain. Pada MVC, model menggambarkan informasi
dan aturan bisnis; tampilan (view) berisi elemen antar muka pengguna seperti
teks, input form; sementara controller mengatur komunikasi antar model dan
view.
Selain implementasi MVC, Yii juga memperkenalkan front-controller
yang disebut Aplikasi, dimana Aplikasi melakukan enkapsulasi konteks
eksekusi dalam memproses sebuah request. Aplikasi mengumpulkan
informasi mengenai request pengguna lalu dikirim ke controller yang sesuai
untuk penanganan selanjutnya.
Berikut diagram struktur statis aplikasi Yii:
77
Gambar 2. 25 Struktur Statis Aplikasi Yii
(http://www.yiiframework.com/doc/guide/1.1/id/basics.mvc)
2.30.3 Alur Kerja Umum MVC
Diagram berikut memperlihatkan alur kerja umum saat aplikasi Yii
menangani request pengguna:
78
Gambar 2. 26 Alur Kerja Umum Aplikasi Yii
(http://www.yiiframework.com/doc/guide/1.1/id/basics.mvc)
1.
Pengguna
membuat
permintaan
dengan
URL http://www.example.com/index.php?r=post/show&id=1 dan
server web menangani permintaan dengan menjalankan skrip
bootstrapindex.php.
2.
Skrip bootstrap membuat instance aplikasi dan menjalankannya.
3.
Aplikasi mendapatkan rincian informasi permintaan pengguna dari
komponen aplikasi bernama request.
4.
Aplikasi menentukan controller dan aksi yang diminta dengan
bantuan
komponen
adalah post yang
aplikasi
merujuk
bernama
pada
urlManager.
kelas PostController
Controller
dan
aksi
adalah show yang arti sebenarnya ditentukan oleh controller.
5.
Aplikasi membuat instance controller yang diminta untuk selanjutnya
menangani
permintaan
pengguna.
Controller
menentukan
79
aksi show merujuk pada sebuah metode bernama actionShow dalam
kelas controller. Kemudian membuat dan menjalankan filter (kontrol
akses, pengukuran) terkait dengan aksi ini. Aksi dijalankan jika
diijinkan oleh filter.
6.
Aksi membaca Post model di mana ID adalah 1 dari basis data.
7.
Aksi meyiapkan view bernama show dengan model Post.
8.
View membaca dan menampilkan atribut model Post.
9.
View menjalankan beberapa widget.
10. View menyiapkan hasil yang dipasangkan dalam layout.
11. Aksi mengakhiri pembuatan view dan menampilkan hasil akhir kepada
pengguna.
2.31
Hasil Penelitian Sejenis dan Sebelumnya
Selama kami melakukan penelitian dan mengumpulkan informasi,
kami menemukan beberapa hasil penelitian sejenis dimana memiliki ide yang
sama dengan penelitian yang sedang kami jalankan. Hal yang membedakan
hasil dari masing – masing penelitian sejenis yakni variasi dari fitur yang
dibuat. Berikut beberapa hasil penelitian sejenis yang terbagi dalam beberapa
bagian.
Dalam jurnal “Mobile Shopping Mall Navigator” (Al-Sayyed, R. M.,
Suleiman, D. M., Marzouq, D. F., Al-Rifai, R. H., Al-Shweiki, R. S., 2012),
disini Al-Sayyed beserta rekannya melakukan penelitian serupa mengenai
aplikasi mall directory. Aplikasi yang mereka kembangkan bernama Mobile
Shopping Mall Navigator (MSMN) dapat digunakan pada Pocket PC. Tujuan
dari dibuatnya aplikasi ini yakni untuk mengatasi masalah yang terjadi pada
mall di daerah Yordania: waktu, keramaian dan lokasi board directory.
Aplikasi MSMN
diharapkan
dapat menfasilitasi dan
meningkatkan
pengalaman pengunjung mall ketika mengunjungi mall dengan membantu
menavigasi tempat yang ingin dituju.
Hasil akhir dari pengembangan aplikasi MSMN ini terbukti
membantu pengunjung dalam mencari informasi toko – toko yang ada di
dalam mall. Hal ini dapat terlihat dari hasil kuesioner yang disebarkan kepada
80
pengguna. Respon positif diperoleh dari sebagian besar responden yang
melakukan testing dari aplikasi MSMN tersebut.
Gambar 2. 27 Tampilan Aplikasi Mobile Shopping Mall Navigator
Al-Sayyed, R. M., Suleiman, D. M., Marzouq, D. F., Al-Rifai, R. H., AlShweiki, R. S. (2012)
81
Overall Percentage Average for all
Answers
35
30
25
20
15
10
5
0
Strongly
Disagree
Disagree
Undecided
Agree
Strongly
Agree
Gambar 2. 28 Tampilan Hasil Survey Aplikasi Mobile Shopping
Mall Navigator
Al-Sayyed, R. M., Suleiman, D. M., Marzouq, D. F., Al-Rifai, R. H.,
Al-Shweiki, R. S. (2012)
Penelitian serupa lainnya juga dilakukan oleh VijayaPrasad, P.,
Fadzlina, N., Saadi, M., Elfaki, A. O., Saadi, B. dalam jurnalnya yang
berjudul “Shopping Mall Directory: A Detailed/-Guide Application for
Android-Based Mobile Devices” (2011). Disini VijayaPrasad beserta
rekannya melakukan penelitian serupa mengenai mall directory, yakni
melakukan perancangan aplikasi yang bernama Location Based Wi-Fi Mall
Indoor Directory (LBWMID) untuk platform Android. Aplikasi ini ditujukan
untuk Tropicana City Mall dengan sistem penggunaan wi-fi dalam
menentukan sistem posisi indoor. Tujuan dari dibuatnya aplikasi LBWMID
yakni untuk mengatasi masalah navigasi pada mall serta membantu untuk
menunjukkan lokasi pengguna berada sehingga dimudahkan jika ingin
menuju ke lokasi tertentu dalam mall.
Hasil yang diperoleh dari pengembangan aplikasi LBWMID yakni
aplikasi dapat membantu untuk menghemat waktu dan tenaga dalam hal
navigasi toko yang ingin dituju pada sebuah mall.
82
Gambar 2. 29 Tampilan Aplikasi Location Based Wi-Fi Mall
Indoor Directory
VijayaPrasad, P., Fadzlina, N., Saadi, M., Elfaki, A. O., Saadi, B.
(2011)
Download